我有一個圖像流,以YUY2格式。我想在QQuickItem
上繪製這些圖像 - 所以我可以在Qt Quick 2中使用它。如何快速重繪QQuickItem?
我有一個性能問題,所以我的問題是什麼才能重繪用C++編寫的QML對象的最快方法?有沒有一種專門用於渲染視頻的對象?
我試過的是創建一個繼承QQuickPaintedItem
的類。我已將YUY2圖像轉換爲RGBA8888格式,然後使用QImage
加載它,然後使用QPainter
將其繪製。如果QQuickPaintedItem
很大 - 例如大於1000x1000,則證明效率不高。更快的方法是將QImage
轉換爲QPixmap
,然後使用QPainter
進行繪製。它現在有點好,但也許有更快的方法?例如圖像轉換似乎太慢了過程。
如果您使用'QQuickPaintedItem',則不會獲得更好的性能。您可以使用自定義幾何體和簡單着色器來實現一個項目,以便用您期望的紋理填充四邊形。然後提供項目新的紋理。顯示和縮放將非常快速。可能已經有這樣的例子。您也可以使用'QQuickFramebufferObject'並更新渲染子對象的紋理。 –
@KubaOber感謝您的幫助。如果你願意,發表你的評論作爲答案,我會接受它。 –