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

QualitySettings.streamingMipmapsRenderersPerFrame

Declaration

public static int streamingMipmapsRenderersPerFrame;

Описание

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

Если число рендеров превышает этот предел, уровни mipmap текстур, связанных с этими дополнительными рендерами, рассчитываются в последующих кадрах.

Уменьшите это значение, чтобы уменьшить CPU затраты на вычисление оптимальных уровней mipmap. Компромисс заключается в том, что меньшее значение также снижает скорость вычисления mipmap текстур и загрузки этих желаемых mipmap.

По умолчанию первоначальное значение 512, но это можно установить в разделе Качество редактора Project Настройки, в Тексты > Потоковое вещание Mipmap.

Примечание: Не меняйте streamingMipmapsRenderersPerFrame слишком часто во время выполнения. Вы должны оставить достаточно времени между изменениями для обработки всех рендеров. Обновление этого значения чаще приведет к неиспользуемым mips, остающимся загруженными. Следующий пример иллюстрирует, как рассчитать количество кадров для задержки между изменениями:

using System.Collections;
using UnityEngine;
public class Example : MonoBehaviour
{
    int nextUpdateAllowed = 0;
    int _renderersPerFrame;

// Increase this value when frame rate is high, lower when frame rate drops) 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,.