2010-11-05 81 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

回答