以20FPS对窗口模式opengl游戏进行Vynyncing,直到GDI窗口成为最顶层

时间:2013-06-27 13:56:40

标签: c++ opengl gdi ati vsync

我的单线程双缓冲Opengl游戏使用一个HWND,HDC和HGLRC组合在两个监视器上运行。因此每个帧缓冲区的大小为2560 x 1024。

我的电脑是:

Intel Core 2 Quad CPU @ 3.00GHz ATI Radeon HD 3400系列512MB VRAM DAC 400MHz 两台显示器均调谐至60Hz和(1280 x 1024)分辨率。

我看到我的游戏以vsyncing OFF运行在36FPS左右。当打开vsyncing时,游戏同步到20FPS,直到像任务管理器这样的GDI应用程序获得焦点并在其上呈现。然后我们看到游戏帧速率上升到30FPS,而任务管理器则关注。 FRAPS确认我的异形帧速率是准确的。

是20FPS可预期的vsync率?因为我的印象是60Hz显示器的有效值是60,30,15,10 ......?

我还设法使用与我的游戏相同的初始渲染器设置来运行背景纹理演示,我看到72FPS与Vsync关闭,而Vsync ON同步到30FPS。同步到60FPS会发生什么?

除非存在GDI窗口,否则几乎就像我缺少vsync中断或计时器一样。

仅供参考我正在使用QueryPerformanceCounter获取高分辨率计时器来计算所有FPS计算。

0 个答案:

没有答案