自Qt 5.4版本以来,引入了QOpenGLWidget以启用OpenGL渲染功能。
除了调用OpenGL API外,QOpenGLWidget还可以用作普通QWidget,在其中使用QPainter。
因此,我想知道,如果我不计划直接调用任何OpenGL API来呈现我的小部件,而只是使用QPainter API,是否仍然有使用QOpenGLWidget而不是QWidget的任何(性能方面)好处?
除了调用OpenGL API外,QOpenGLWidget还可以用作普通QWidget,在其中使用QPainter。
因此,我想知道,如果我不计划直接调用任何OpenGL API来呈现我的小部件,而只是使用QPainter API,是否仍然有使用QOpenGLWidget而不是QWidget的任何(性能方面)好处?
QGLWidget
的高性能,但谁知道呢?)。 但是当你涉及特定于平台+硬件+驱动程序的事物时,你应该三思而后行。 因为您的窗口小部件在每台机器上可能会显示不同,速度可能会更快或更慢,旧设备可能会拒绝新的OpenGL功能,OpenGL可能需要额外的设置来进行网络显示等等。 - ilotXXIQOpenGLWidget
的目的是在窗口内部创建一个矩形区域,用于渲染OpenGL场景。QOpenGLWidget
只会增加一些额外开销,因为它需要成为一个具有窗口ID的特定资源,以便3D驱动程序和操作系统可以直接使用它。 - VelkanQOpenGLWidget
是一个用于使用和显示 OpenGL 场景的窗口。 - ilotXXI