QMainWindow中更高效的中央小部件:QGLWidget VS QGraphicsView

时间:2011-07-01 22:26:45

标签: qt opengl-es-2.0 qgraphicsview qmainwindow

我正在为我的应用程序使用QMainWindow,并希望进行一些openGL渲染。 2种方法:

1)将QGLWidget设置为中央窗口小部件并在那里进行所有渲染,

OR

2)将QGraphicsView设置为中央窗口小部件,将视口设置为我的QGLWidget以创建渲染上下文并在场景中进行渲染。

哪一项在效率方面更可取? (我将在后面添加一些其他对象,在前一种情况下将是QGLWidgets(作为子窗口小部件),在后面的QGaphicsItems中)

1 个答案:

答案 0 :(得分:4)

使用QGLWidget并直接使用OpenGL渲染在大多数情况下会更有效,但是需要更多的工作来管理动态的渲染项集。使用QGraphicsView框架会有一些开销,但它提供了许多用于管理渲染项的功能。 QGraphicsView的开销量取决于各种细节,但在大多数情况下,它不会成为瓶颈,可以针对各种使用模式进行调整。