2010-11-05 51 views
4

这甚至有可能吗?由于我注意到v-sync在我的笔记本电脑上不起作用,所以我正在“手动”构建FPS限制器,现在我想使用用户设置到他的屏幕上的FPS限制。如何获得屏幕刷新率?

编辑:我的意思是显示器的hz率。

EDIT3:继承人我得到使用的代码(我觉得...什么不对劲的地方?):

DEVMODE lpDevMode; 
memset(&lpDevMode, 0, sizeof(DEVMODE)); 
lpDevMode.dmSize = sizeof(DEVMODE); 
lpDevMode.dmDriverExtra = 0; 

if(EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &lpDevMode) == 0){ 
    framerate_limit = 60; // default value if cannot retrieve from user settings. 
} 

点播,这里是我的垂直同步启用代码jay.lee要求:

PFNWGLSWAPINTERVALEXTPROC wglSwapIntervalEXT = NULL; // global 

... 

wglSwapIntervalEXT = (PFNWGLSWAPINTERVALEXTPROC) wglGetProcAddress("wglSwapIntervalEXT"); 

v_sync_enabled = 0; 
if(wglSwapIntervalEXT != NULL){ 
    if(wglSwapIntervalEXT(1) != FALSE){ 
     v_sync_enabled = 1; 
    } 
} 
+0

您的意思是显示器的Hz频率,而不是您的绘图循环? – 2010-11-05 22:47:59

+0

监视器我的意思是。 – Newbie 2010-11-05 23:05:13

+0

只是好奇,你怎么试图启用vsync? – 2010-11-05 23:28:19

回答