QT如何绘制50万行?

时间:2011-05-21 13:28:48

标签: qt memory graphics view

我需要在QGraphicsView等某些区域绘制很多(约500000)个小线条。 我尝试使用QPainterPath和QGraphicsScene,但是使用lineTo()向QPainterPath添加500000行需要超过500 MB的内存,我的应用程序被我的内核杀死。

有没有办法可以在QT中画出这么多行?

1 个答案:

答案 0 :(得分:1)

QGraphicsLineItem 的开销可能低于QPainterPath。但是增加其中的一半将会抵消收益。

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