Описание
Количество экземпляров модуля рендеринга, которые обрабатываются в каждом кадре при расчете уровней MIP-карт текстур, которые следует передавать в потоковом режиме.
Если количество модулей визуализации превышает это ограничение, уровни MIP-карт текстур, связанных с этими дополнительными модулями визуализации, рассчитываются в последующих кадрах.
Уменьшите это значение, чтобы снизить нагрузку на ЦП при расчете оптимальных уровней MIP-карт. Компромисс заключается в том, что более низкое значение также снижает скорость вычисления мип-карт текстуры и загрузки этих желаемых мип-карт.
Исходное значение по умолчанию – 512. Его можно задать в разделе Качество редактора Настройки проекта в разделе Визуализация > Потоковая передача текстур.
Примечание. Не изменяйте streamingMipmapsRenderersPerFrame
слишком часто во время выполнения. Между изменениями должно быть достаточно времени для обработки всех средств визуализации. Более частое обновление этого значения приведет к тому, что неиспользуемые мипы останутся загруженными. В следующем примере показано, как рассчитать количество кадров для задержки между изменениями:
using System.Collections;
using UnityEngine;
public class Example : MonoBehaviour
{
int nextUpdateAllowed = 0;
int _renderersPerFrame;
// Увеличивайте это значение при высокой частоте кадров, уменьшайте, когда частота кадров падает)
public int RenderersPerFrame
{
get { return QualitySettings.streamingMipmapsRenderersPerFrame; }
set
{
_renderersPerFrame = value;
StopCoroutine("UpdateRenderCount");
StartCoroutine("UpdateRenderCount");
}
}
IEnumerator UpdateRenderCount()
{
while (Time.frameCount < nextUpdateAllowed)
yield return null;
QualitySettings.streamingMipmapsRenderersPerFrame = _renderersPerFrame;
int frameDelay = (int)(Texture.streamingRendererCount + (ulong)(_renderersPerFrame - 1)) / _renderersPerFrame;
nextUpdateAllowed = Time.frameCount + frameDelay;
yield return null;
}
}
Смотрите так же: Texture.streamingRendererCount.