1

我有一个QGLWidget在 Mac OS 上使用 OpenGL 绘图的 Qt 应用程序。在我的 MBP 上它运行良好,但是在 30" 屏幕上尝试时,我注意到有一个窗口大小限制。
如果我将窗口大小增加到超过某个限制,则QGLWidget's 的内容会消失,只有一些灰色的内存垃圾可见.

我将代码更改为只QGLWidget在屏幕上放一个。在repaint event每次迭代中将背景设置为黑色。
问题仍然可见:当调整小部件的大小时,黑色表面消失并被内存垃圾取代,当小部件的大小达到一定大小时。

有趣的事实:

  • 当我减小窗口大小时,GL 表面又恢复了活力
  • 我有几个其他 GL 应用程序(不是 Qt)在最大化窗口中运行,所以问题不在于 OpenGL 驱动程序/视频卡
  • 似乎窗口的面积(nr 个像素)很重要,如果我把窗口做得很宽,它的高度就会受到限制,反之亦然,如果窗口的高度最大化,宽度必须很小
4

1 回答 1

0

我发现在实例化QGLWidget使用QGLFormat(QGL::NoSampleBuffers)而不是QGLFormat(QGL::SampleBuffers)解决问题时。

于 2013-08-26T12:27:41.047 回答