2
我需要在像QGraphicsView這樣的區域繪製大量(大約500000)小線。 我試圖使用QPainterPath和QGraphicsScene,但用lineTo()將500000行添加到QPainterPath需要超過500 MB的內存,我的應用程序被我的內核殺死。QT如何繪製500000行?
有沒有一種方法可以在QT中繪製這樣多的線?
我需要在像QGraphicsView這樣的區域繪製大量(大約500000)小線。 我試圖使用QPainterPath和QGraphicsScene,但用lineTo()將500000行添加到QPainterPath需要超過500 MB的內存,我的應用程序被我的內核殺死。QT如何繪製500000行?
有沒有一種方法可以在QT中繪製這樣多的線?
QGraphicsLineItem
可能具有比QPainterPath
更低的開銷。但是增加50萬的數量將會抵消收益。
假設您將所有行視爲一個項目,因爲您正在將行添加到QPainterPath
,因此創建自定義QGraphicsItem
和paint()
自己的行將是最快的方式。它也將避免管理路徑和線路結構的所有內存負擔。
如何在任何給定的時間顯示這些行中的任何一行? – 2011-05-21 13:31:34
所有線條都可見 – xelez 2011-05-21 17:10:45
其中有多少人可以在任何時間觀看?我認爲這可能是@Jen所掌握的。你能否確定它們的「最重要」子集,可能會因爲用戶在特定區域請求更多細節而繪製更多?或者以有限的速度提取它們,將它們分層次越長,它們的視野就越長。 – shambulator 2011-05-22 18:22:49