Частота обновления дисплея представляет собой количество обновлений экрана в секунду. Более высокая частота обновления обеспечивает более высокую частоту кадров, яркое отображение и улучшенную цветовую четкость. Однако для достижения таких частот обновления приложению необходимо выполнять свои задачи за более короткое время.
По умолчанию частота обновления дисплея для приложений составляет 72 Гц. Если вы хотите, чтобы ваше приложение работало с другой частотой обновления, вы несете ответственность за обеспечение достаточной производительности приложения для поддержания этой частоты. Приложения, которые не могут постоянно отображать контент с заданной частотой обновления дисплея, не пройдут проверку для размещения в Магазине Meta Horizon. Такие приложения могут демонстрировать дрожание, мерцание черных областей по краям и другие проблемы, связанные с производительностью.
Некоторые модели гарнитур могут поддерживать более высокие частоты обновления дисплея. В таблице ниже перечислены текущие доступные частоты обновления, однако вам следует всегда программным путем подтверждать, что выбранная частота доступна на устройстве пользователя, прежде чем пытаться ее установить.
Модель устройства
60 Гц
72 Гц
80 Гц
90 Гц
120 Гц
Quest
Только мультимедийные приложения
✓
-
-
-
Quest 2
Только мультимедийные приложения
✓
✓
✓
✓
Quest Pro
-
✓
✓
✓
-
Quest 3
-
✓
✓
✓
✓
Quest 3S
-
✓
✓
✓
✓
Частота 60 Гц должна использоваться только приложениями для проигрывания мультимедиа. Эта частота предоставляется для синхронизации видео с частотой 30 или 60 кадров в секунду с частотой обновления дисплея для плавного воспроизведения. Обратите внимание: приложения с медиаконтентом могут использовать более высокие частоты обновления, если они поддерживаются устройством и приложение сохраняет производительность. Приложения не для воспроизведения медиаконтента, которые устанавливают частоту обновления дисплея 60 Гц, не пройдут проверку в Магазине.
Получение текущей частоты обновления на гарнитуре
Чтобы просматривать текущую частоту обновления на гарнитуре в режиме реального времени, выполните следующие действия:
Включите режим разработчика в мобильном приложении Meta Horizon. Инструкции см. в статье Включение режима разработчика.
Используйте Центр разработки Meta Quest на настольном компьютере:
Настройте Metrics Performance HUD Settings (Настройки панели метрик производительности) в Центре разработки Meta Quest, чтобы отображать частоту кадров. Для этого нажмите значок шестеренки и установите два флажка для Average FPS (Средний FPS).
Если вы хотите установить для своего приложения частоту обновления, отличную от 72 Гц, секция поддерживаемых устройств в вашем Android-манифесте должна содержать устройство, поддерживающее эту частоту. В Unreal Engine это можно сделать через настройки проекта, как описано в Настройке целевого устройства.
Моменты, которые нужно учитывать при изменении частот обновления
Если приложение с частотой обновления дисплея выше 72 Гц сталкивается с тепловыми событиями, динамическое понижение частоты в качестве первого шага может установить частоту 72 Гц. Если тепловые условия ухудшаются, динамическое понижение может дополнительно изменить частоту кадров при сохранении частоты обновления (эквивалентно minVsyncs=2).
Обработка событий изменения частоты обновления (необязательно)
Если вам необходимо, чтобы ваше приложение знало, снижает ли динамическое регулирование частоту обновления, чтобы приложение могло как-то отреагировать, вы можете сделать это через событие Blueprint Oculus Display Refresh Rate Change(Изменение частоты обновления дисплея Oculus). Старая и новая частота обновления указаны в виде плавающих значений From Refresh Rate(От частоты обновления) и To Refresh Rate(До частоты обновления).
Тестирование реакции приложения на динамическое регулирование частоты
Вы можете симулировать динамическое понижение частоты обновления с более высокой. Во время работы приложения отправьте намерение через adb shell activity manager. Например, эта команда симулирует понижение частоты на 10 секунд:
adb shell am broadcast -a com.oculus.vrruntimeservice.COMPOSITOR_SIMULATE_THERMAL --es subsystem refresh --ei seconds_throttled 10
Если вы не видите заметного изменения в приложении, можно проверить изменение частоты обновления с помощью функции xrGetDisplayRefreshRateFB.