在PC上以原始分辨率,全屏,60fps撕裂cocos2d-x

时间:2018-02-24 11:15:44

标签: opengl cocos2d-x vsync

我正在使用cocos2d-x为Windows,Linux和MacOS编写游戏(目前我在Windows 10上开发和测试)。我已经有一个系统可以更改设置(全屏或不同分辨率的窗口,但总比例为16:9)。

我已经实现了我的关卡系统的原型,只有少数精灵和水平移动的能力。在窗口模式下一切正常,但在全屏模式下,在原始分辨率下,我会遇到一些撕裂,尽管分辨率设置为60 fps,在60 Hz屏幕上(fps计数器实际显示为60)。

在调查此问题时,我已在线程OpenGL tearing with fullscreen native resolution上读到这可能是因为绕过全屏原生分辨率的DWM合成器,否则会执行某种vsync。

我想强制使用vsync,但我在类cocos2d::Directorcocos2d::GLView中都没有找到任何功能来执行此操作,并且使用cocos2d-x我无法执行此操作在低级别(从不直接使用OpenGL)。

有关如何删除撕裂/强制vsync的想法吗?

0 个答案:

没有答案