【发布时间】:2013-12-04 09:30:32
【问题描述】:
我知道PaintGL() 函数的调用频率与屏幕的频率相同(比如说每秒 60 次)。但是,如果屏幕上没有显示像素(如果另一个窗口隐藏了 OpenGL),则对 PaintGL() 的调用将不再受到限制,并且会被调用更多......它最大程度地使用 CPU 并且很烦人。
那么,有没有办法抑制它?
我正在使用 MacOS 10.9 和 Qt Creator。
我对垂直同步了解不多。事实上,我的软件在前台使用 30% 的 CPU,而在隐藏时,它会上升到 95%。
【问题讨论】:
-
您是说启用 vsync 后,您的背景窗口不再被 vsync 锁定吗?什么操作系统/图形驱动程序/等?您确定启用了 vsync 吗?
-
您确定在这种情况下您的
PaintGL()真的会被更频繁地调用吗?我不知道 Qt 的内部结构,但通常在隐藏窗口时根本不应该调用它