2016-11-30 25 views
2

對不起,聽起來很愚蠢。我是QT世界的新手。爲什麼qt在opengl中渲染svg文件比在本地渲染時性能更好

我正在運行來自QT official website的SVG查看器示例。我發現Native模式和OpenGL模式下的性能非常不同。

基本上這兩種模式的不同之處在於。在純模式下,其視口是 QWidget;在OpenGl模式下,它的視口是一個QGLWidget。

我的問題是什麼導致性能差異?有沒有關於此的在線文檔?

enter image description here

回答

6

的表現並不一定不同,但CPU使用率是。這是因爲OpenGL將的計算移動到GPU上。

您可以將OpenGL基本認爲是用於編程GPU的API。

當切換到「本地」,所有計算如SVG數據的CPU,這是你可以在任務管理器中看到所做的光柵化。

+0

謝謝,這對我有意義! – ricky

+1

這非常有洞察力:使用OpenGL時CPU使用率會降低,但這並不能告訴我們性能。後者將取決於與CPU上運行的柵格後端相比,OpenGL繪畫引擎後端如何在特定的SVG特定工作負載上運行。它在某些情況下可能表現更差,例如在一些移動GPU上。 –