SDL_GetDesktopDisplayMode () не может получить 1080

//Get screen resolution
SDL_DisplayMode current;
cout << "num_displays : " << SDL_GetNumVideoDisplays() << endl;
for (int i = 0; i < SDL_GetNumVideoDisplays(); ++i){
SDL_GetDesktopDisplayMode(i, &current);
cout << "current.w [ " << current.w << " ] - current.h [ " << current.h << " ]\n";
}

Следующий код распечатывает разрешение экрана каждого подключенного дисплея. Проблема в том, что когда я запускаю его в режиме 1920 x 1080, он показывает неправильное разрешение. Однако, если я уменьшу разрешение до 1600 x 900 или ниже на главном дисплее, значение current.w & current.h идеально.

Это ограничение SDL или мои драйверы дисплея неисправны?

IDE: CodeBlocks (32 бит) — Компилятор: MinGW

РЕДАКТИРОВАТЬ: Неправильно на самом деле очень специфическое значение, а не мусор.
Вместо 1920 — 1080 неправильный вывод — ВСЕГДА 1536 — 864

1

Решение

Оказывается, @PeterT был прав. Я использую Windows 10 и масштабирование было 125%. Уменьшение масштабирования до 100% решило проблему.
Когда я уменьшил разрешение, оказалось, что Windows автоматически изменила масштабирование до 100%.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]