Описание
Указывает игре попытаться выполнить рендеринг с указанной частотой кадров.
По умолчанию targetFrameRate
представляет собой специальное значение -1, которое указывает, что игра должна отображаться с частотой кадров по умолчанию для платформы. Эта ставка по умолчанию зависит от платформы:
– На автономных платформах частота кадров по умолчанию – это максимально достижимая частота кадров.
– На мобильных платформах частота кадров по умолчанию меньше максимально достижимой частоты кадров из-за необходимости экономить заряд батареи. Обычно на мобильных платформах частота кадров по умолчанию составляет 30 кадров в секунду.
- Все мобильные платформы имеют фиксированное ограничение для максимально достижимой частоты кадров, равной частоте обновления экрана (60 Гц = 60 кадров в секунду, 40 Гц = 40 кадров в секунду, ...). Screen.currentResolution содержит частоту обновления экрана.
– Кроме того, все мобильные платформы могут отображать кадры только в VBlank. Поэтому вы должны установить для targetFrameRate
либо значение -1, либо значение, равное частоте обновления экрана, либо частоте обновления, деленной на целое число. В противном случае результирующая частота кадров всегда ниже, чем targetFrameRate
. Примечание. Если вы установите для targetFrameRate
частоту обновления, деленную на целое число, целочисленное деление приведет к тому же эффективному количеству кадров в секунду, что и установка QualitySettings. .vSyncCount к тому же значению, что и это целое число.
– iOS игнорирует параметр QualitySettings.vSyncCount. Вместо этого устройство отображает кадры в первом возможном VBlank после того, как кадр готов и ваше приложение достигает targetFrameRate
.
- В WebGL значение по умолчанию позволяет браузеру выбирать частоту кадров в соответствии с синхронизацией цикла рендеринга, что обычно дает наиболее плавные результаты. Значения, отличные от значений по умолчанию, рекомендуются только в том случае, если вы хотите ограничить использование ЦП в WebGL.
- При использовании VR Unity будет использовать целевую частоту кадров, указанную SDK, и игнорировать значения, указанные игрой.
Установка targetFrameRate
не гарантирует достижение частоты кадров. Могут быть колебания из-за особенностей платформы, или игра может не достигать частоты кадров, потому что устройство слишком медленное.
Кроме того, если установлено свойство QualitySettings.vSyncCount, targetFrameRate
будет игнорироваться, и вместо этого игра будет использовать vSyncCount и скорость рендеринга платформы по умолчанию, чтобы определить целевую частоту кадров. Например, если скорость рендеринга платформы по умолчанию составляет 60 кадров в секунду, а для параметра vSyncCount установлено значение 2, игра будет ориентироваться на 30 кадров в секунду.
В редакторе targetFrameRate
влияет только на вид игры. Это не влияет на другие окна редактора.
using UnityEngine;
public class Example
{
void Start()
{
// Make the game run as fast as possible
Application.targetFrameRate = 300;
}
}