Возможно ли это вообще?Поскольку я заметил, что v-sync вообще не работает на моем ноутбуке, поэтому я создаю ограничитель FPS «вручную», и теперь я хотел бы использовать ограничение FPS, установленное пользователем для его экрана.
Редактировать: Я имею в виду частоту Гц монитора.
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.
}
По требованию, вот мой код активации v-sync, который попросил 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;
}
}