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;
}
}
您的意思是顯示器的Hz頻率,而不是您的繪圖循環? – 2010-11-05 22:47:59
監視器我的意思是。 – Newbie 2010-11-05 23:05:13
只是好奇,你怎麼試圖啓用vsync? – 2010-11-05 23:28:19