Unity 6.3
0 онлайн 76 гостей 3 в системе
Вход

QualitySettings.vSyncCount

Declaration

public static int vSyncCount;

Описание

Представляет количество вертикальных синхронизаций, которые должны проходить между каждым кадром.

Целое число в диапазоне 0–4. Значение по умолчанию — 1.

Настольные платформы и веб

vSyncCount задаёт количество обновлений экрана, которые игра пропускает между кадрами. В Unity Editor этому соответствует свойство VSync Количество в разделе Project Settings > Quality > Other.

- Если vSyncCount > 0, поле Application.targetFrameRate игнорируется, а фактическая частота кадров равна собственной частоте обновления дисплея, делённой на vSyncCount. Если vSyncCount == 1, отрисовка синхронизируется с вертикальной частотой обновления дисплея.

- Если vSyncCount имеет значение 0, Unity не синхронизирует отрисовку с вертикальной развёрткой, а для регулирования частоты отрисовки кадров используется поле Application.targetFrameRate.

Например, если Редактор работает на дисплее с частотой 60 Гц и vSyncCount == 2, целевая частота составляет 30 кадров в секунду.

Android и iOS: поле vSyncCount всегда игнорируется, поскольку мобильные устройства не допускают несинхронизированную отрисовку. Для управления частотой кадров используйте вместо него поле Application.targetFrameRate.

Платформы VR: игнорируются и vSyncCount, и Application.targetFrameRate. Частотой кадров управляет VR SDK.

Примечание: на большинстве платформ частоту обновления экрана можно получить через Resolution.refreshRateRatio в свойстве Screen.currentResolution.

Изменяющаяся собственная частота обновления дисплея

Раньше собственная частота обновления дисплеев обычно оставалась постоянной. Современные мобильные устройства, ноутбуки и настольные компьютеры способны динамически изменять её во время выполнения. Например:

  • Настольный компьютер: Когда пользователь перетаскивает игровое окно с основного монитора на второй монитор, или изменяет частоту обновления монитора в Display Properties во время запуска игры, частота обновления собственного дисплея может измениться в режиме реального времени.
  • Ноутбуки: Игровой ноутбук с высоким частотой обновления экрана может работать только на 144 Гц, например, когда ноутбук питается от зарядного устройства. При отключении от сети частота экрана падает до 60 Гц.
  • Мобильные: Мобильный телефон может ограничить частоту обновления экрана до 60 Гц при зарядке аккумулятора мобильного телефона, чтобы ограничить и предотвратить перегрев из-за одновременного накопления тепла от зарядки аккумулятора.
  • Веб: В зависимости от устройства, на котором пользователь просматривает веб-страницу, может возникнуть любое из вышеуказанных условий.

Поэтому рекомендуется не устанавливать жесткое кодирование ни в одном месте игровой логики, исходя из предположения, что частота обновления экрана, видимая при запуске игры, будет сохраняться на протяжении всего срока жизни приложения.

Дополнительные ресурсы: Application.targetFrameRate

using UnityEngine;

public class Example : MonoBehaviour { void Start() { // Render at half the refresh rate of the display (Desktop and Web platforms) QualitySettings.vSyncCount = 2; } }

Дополнительные ресурсы: Настройки качества.