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

Application.targetFrameRate

Declaration

public static int targetFrameRate;

Описание

Указывает целевую частоту кадров, с которой Unity пытается отобразить ваше приложение.

Принимает целое число > 0 или специальное значение -1 (по умолчанию).

Настольный компьютер

  • Если QualitySettings.vSyncCount установлены на 0, то Application.targetFrameRate выбирает целевую частоту кадров для приложения. Если vSyncCount != 0, то targetFrameRate игнорируется.
  • Когда QualitySettings.vSyncCount = 0 и Application.targetFrameRate = -1, содержимое отображается несинхронизированным как можно быстрее.
  • Рекомендуется использовать QualitySettings.vSyncCount вместо Application.targetFrameRate, потому что vSyncCount реализует аппаратный механизм синхронизации, в то время как targetFrameRate является программным методом синхронизации и подвержен микрозадержкам.
  • Установка vSyncCount = 0 и использование targetFrameRate не приведет к полностью беззамедлительному выходу. Всегда используйте vSyncCount > 0, когда требуется плавное увеличение частоты кадров.

Веб

  • Если QualitySettings.vSyncCount установлены на 0, то Application.targetFrameRate выбирает целевую частоту кадров для приложения. Если vSyncCount != 0, то targetFrameRate игнорируется.
  • Когда QualitySettings.vSyncCount = 0 и Application.targetFrameRate = -1, содержимое отображается с частотой обновления собственного экрана.
  • Рекомендуется использовать QualitySettings.vSyncCount вместо Application.targetFrameRate, потому что vSyncCount реализует аппаратный механизм синхронизации, в то время как targetFrameRate является программным методом синхронизации и подвержен микрозадержкам.
  • Установка vSyncCount = 0 и использование targetFrameRate не приведет к полностью беззамедлительному выходу. Всегда используйте vSyncCount > 0, когда требуется плавное увеличение частоты кадров.
  • Отображение всегда ограничивается максимальной частотой обновления дисплея. Установка vSyncCount = 0 и targetFrameRate на произвольно высокое значение не превысит естественную частоту обновления дисплея, даже если нагрузка на отображение достаточно низка.

Android

  • Используйте targetFrameRate для управления частотой кадров приложения. Это полезно для ограничения частоты кадров приложения, чтобы убедиться, что приложение отображается плавно и последовательно при больших нагрузках на рендеринг. Вы можете уменьшить частоту кадров приложения, чтобы сохранить время работы батареи и избежать перегрева мобильных устройств.
  • Когда QualitySettings.vSyncCount = 0 и Application.targetFrameRate = -1, контент отображается с фиксированной частотой 30 кадров в секунду для экономии батареи, независимо от частоты обновления дисплея. QualitySettings.vSyncCount > 0 игнорируется.
  • Отображение всегда ограничивается максимальной частотой обновления дисплея. Установка vSyncCount = 0 и targetFrameRate на произвольно высокое значение не превысит естественную частоту обновления дисплея, даже если нагрузка на отображение достаточно низка.
  • Чтобы отображать изображение с естественной частотой обновления дисплея, установите Application.targetFrameRate на значение из поля Resolution.refreshRateRatio свойства Screen.currentResolution.
  • Если указанная частота не делит равномерно текущую частоту обновления дисплея, то значение Application.targetFrameRate округляется до ближайшего числа, которое делит равномерно текущую частоту обновления дисплея. Например, при запуске на 60 Гц дисплее Android и Application.targetFrameRate = 25контент отображается с частотой 20 кадров в секунду, так как 20 является наибольшим числом ниже 25, которое делит равномерно 60.

iOS

  • Используйте targetFrameRate для управления частотой кадров приложения. Это полезно для ограничения частоты кадров приложения, чтобы убедиться, что приложение отображается плавно и последовательно при больших нагрузках на рендеринг. Вы также можете уменьшить частоту кадров приложения, чтобы сохранить время работы батареи и избежать перегрева на мобильных устройствах.
  • Когда QualitySettings.vSyncCount = 0 и Application.targetFrameRate = -1, контент отображается с фиксированной частотой 30 кадров в секунду для экономии батареи, независимо от частоты обновления дисплея. QualitySettings.vSyncCount > 0 игнорируется.
  • Отображение всегда ограничивается максимальной частотой обновления дисплея. Установка vSyncCount = 0 и targetFrameRate на произвольно высокое значение не превысит естественную частоту обновления дисплея, даже если нагрузка на отображение достаточно низка.
  • Чтобы отображать изображение с естественной частотой обновления экрана, установите Application.targetFrameRate в качестве целочисленного представления частоты обновления экрана. Это можно получить из значения свойства Screen.currentResolution.refreshRateRatio. Например, Application.targetFrameRate = (int)Screen.currentResolution.refreshRateRatio.value;.
  • Нативная частота обновления дисплея контролируется функцией Apple ProMotion. Когда ProMotion отключена в проекте (по умолчанию для новых проектов), нативная частота обновления составляет 60 Гц. Когда ProMotion включена, нативная частота обновления составляет 120 Гц на iOS дисплеях, поддерживающих ProMotion, 60 Гц в противном случае.
  • Если указанная частота не равномерно делит текущую частоту обновления дисплея, то значение Application.targetFrameRate округляется до ближайшего числа, которое это делает.

XR платформы

XR платформы игнорируют QualitySettings.vSyncCount и Application.targetFrameRate. Вместо этого XR SDK управляет частотой кадров.

Unity Editor

В Редакторе Application.targetFrameRate влияет только на представление Game. Оно не влияет на другие окна Редактора.

Дополнительные ресурсы: QualitySettings.vSyncCount, Screen.currentResolution.

using UnityEngine;

public class Example : MonoBehaviour { void Start() { // Limit framerate to cinematic 24fps. QualitySettings.vSyncCount = 0; // Set vSyncCount to 0 so that using .targetFrameRate is enabled. Application.targetFrameRate = 24; } }