我正在为我的应用程序使用QMainWindow,并希望进行一些openGL渲染。 2种方法:
1)将QGLWidget设置为中央窗口小部件并在那里进行所有渲染,
OR
2)将QGraphicsView设置为中央窗口小部件,将视口设置为我的QGLWidget以创建渲染上下文并在场景中进行渲染。
哪一项在效率方面更可取? (我将在后面添加一些其他对象,在前一种情况下将是QGLWidgets(作为子窗口小部件),在后面的QGaphicsItems中)
答案 0 :(得分:4)
使用QGLWidget并直接使用OpenGL渲染在大多数情况下会更有效,但是需要更多的工作来管理动态的渲染项集。使用QGraphicsView框架会有一些开销,但它提供了许多用于管理渲染项的功能。 QGraphicsView的开销量取决于各种细节,但在大多数情况下,它不会成为瓶颈,可以针对各种使用模式进行调整。