我正在使用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::Director
和cocos2d::GLView
中都没有找到任何功能来执行此操作,并且使用cocos2d-x我无法执行此操作在低级别(从不直接使用OpenGL)。
有关如何删除撕裂/强制vsync的想法吗?