SDL-OpenGL Невозможно отключить V-Sync на Samsung Galaxy Note 4

Использование двойного буфера и функции подкачки буфера для завершения цикла отрисовки, SDL_GL_SwapWindow, когда я устанавливаю Vsync на Off через:

SDL_GL_SetSwapInterval(0); //returns 0 so the vsync option is set correctly

Похоже, что VSync все еще включен на этом устройстве.

Я протестировал тот же код в iOS, на других устройствах Android, включая планшеты, ПК и Mac, с очень простой сценой, и все они увеличиваются примерно с 60 кадров в секунду с VSync до +400 без него.

Единственное устройство, которое, кажется, сохраняет VSync, — это Note 4, потому что частота кадров такая же.

Вот я и спрашиваю, есть ли для этого какая-то причина. Я искал спецификации устройства и проверял параметры дисплея и разработчика на случай, если там была какая-то опция блокировки VSync, но я не нашел ничего, связанного с этим.

РЕДАКТИРОВАТЬ: такое же поведение с Samsung Galaxy S4 (VSync не отключается)


person SaintJob 2.0    schedule 02.09.2015    source источник
comment
VSync не входит в спецификацию OpenGL. Это решение поставщика устройства, предоставлять способ управления им или нет (т.е. вы не можете предполагать, что он будет доступен везде). Я бы проконсультировался с разработчиками SDL, поскольку вы используете их библиотеку.   -  person n0rd    schedule 02.09.2015
comment
Это делает оконная система. Также интересно отметить, что некоторые драйверы (на настольных системах) в наши дни реализуют ограничение частоты кадров на нескольких уровнях. В Windows, если вы полностью отключите VSYNC, вы все равно можете быть ограничены настройками драйвера до 60 кадров в секунду (AMD и NV называют это целевой частотой кадров в своих последних драйверах), это экономит электроэнергию и позволяет картам работать тише и прохладнее. Хотя это настройка для опытных пользователей, графические процессоры AMD/NV не поставляются с такой настройкой из коробки, но я использую ее, чтобы проиллюстрировать, что ограничение частоты кадров не обязательно связано с VSYNC.   -  person Andon M. Coleman    schedule 02.09.2015


Ответы (1)


Как поясняется в комментариях и документации, существуют драйверы и настройки оборудования, которые ограничивают частоту кадров независимо от конфигурации vsync/специфического управления частотой кадров.

В частности, частота кадров ограничена в большинстве новых Android-устройств.

person SaintJob 2.0    schedule 03.09.2015