QT如何画500000条线?

QT如何画500000条线?,qt,memory,graphics,view,Qt,Memory,Graphics,View,我需要在QGraphicsView这样的区域画很多(大约500000条)小线条。 我尝试使用QPainterPath和Qgraphicscene,但使用lineTo()向QPainterPath添加500000行需要500 mb以上的内存,我的应用程序被内核杀死 有没有一种方法可以在QT中绘制如此多的行?可能比QPainterPath的开销更低。但增加50万只会抵消收益 假设您将所有行视为一个项目,因为您正在将行添加到QPainterPath,创建自定义QGraphicsItem和paint()

我需要在QGraphicsView这样的区域画很多(大约500000条)小线条。 我尝试使用QPainterPath和Qgraphicscene,但使用lineTo()向QPainterPath添加500000行需要500 mb以上的内存,我的应用程序被内核杀死

有没有一种方法可以在QT中绘制如此多的行?

可能比
QPainterPath
的开销更低。但增加50万只会抵消收益


假设您将所有行视为一个项目,因为您正在将行添加到
QPainterPath
,创建自定义
QGraphicsItem
paint()
行将是最快的方法。它还将避免管理路径和线条结构的所有内存负担。

在任何给定时间,这些线条中有多少条是可见的?任何人类观察者在任何时间都能真正理解其中多少条?我想这可能就是@Jen的意思。你能确定其中一个“最重要”的子集吗?当用户要求更详细的特定区域时,你能画得更多吗?或者以有限的速度绘制它们,它们在视野中的时间越长,层次就越高?是的。如果在一个典型的屏幕上同时看到所有这些线,它们平均每个大约2个像素…@shambulator@Jen I可以将这些线合并起来,得到大约1000-2000条线。我想我以后会做的,但就我所知,用QPainter在QImage上画大约992000条线效果很好,在我的旧笔记本上大约需要2-3秒。