我有一個大的顯示屏(約1000x2000像素)和我做下面的繪製圖片到屏幕上:QPainter性能如何提高?
QImage *pImage = GetImage(); // from wherever
QPainter painter(this);
painter.drawImage((0,0), *pImage); // this line takes over 100ms to complete.
屏幕越大的是,我畫到,時間越長這種塗料需要。我想pImage是memcpy'd,這是不同的。我怎樣才能減少這種開銷?我並沒有試圖在這裏擴展或任何東西。
謝謝。
如下所示:\t 我也應該注意到,我使用的是一個QImage,因爲我操縱QIMAGE :: RGB16格式的原始圖像緩衝區。基於此,我不知道我可以使用QPixmap來代替。你知道一種將QPixmap設置爲該格式的原始圖像緩衝區的方法嗎? – glutz
您不能將原始像素「填充」到QPixmap中。 QImage是正確的選擇。如果相同的圖像不會被多次繪製,無論如何都無法將其轉換爲QPixmap。這是什麼平臺?我知道Mac上的「加速」默認畫家後端真的很慢。嘗試從QImage創建一個畫家,並看到相同的操作是更快。 –
@Stephen Chu。我正在創建一個來自QImage的畫家。或者你的意思是別的嗎?我在Ubuntu 10.10上。 – glutz