在QMainWindow中使用更高效的中央窗口部件:QGLWidget和QGraphicsView的比较。

3
我正在使用QMainWindow作为我的应用程序,并希望进行一些OpenGL渲染。有两种方法:
1)将QGLWidget设置为中心小部件并在那里进行所有渲染,
或者
2)将QGraphicsView设置为中心小部件,将视口设置为我的QGLWidget以创建渲染上下文,并在我的场景中进行渲染。
就效率而言,哪种方法更可取?(稍后我会添加其他对象,在前一种情况下它们将成为QGLWidgets(作为子小部件),而在后一种情况下则是QGaphicsItems)。
1个回答

4

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接