Streaming
Этот раздел содержит настройки, связанные с потоковой передачей ресурсов.
First Frames Force | количество кадров, загружаемых сразу после первого кадра. Это приведет к появлению сцены прямо при запуске приложения. Диапазон значений: [0, INT_MAX]. Значение по умолчанию : 60. Консольная команда: render_streaming_first_frames_force (API) |
---|---|
Max Threads | максимальное количество потоков, используемых для потоковой передачи. Большее количество потоков приводит к более быстрой потоковой передаче, но может вызвать всплески в случае чрезмерного потребления ресурсов графического процессора. Диапазон значений: [1, 256]. Значение по умолчанию : 1. Консольная команда: render_streaming_max_threads (API) |
Particles Memory Limit | ограничение кэш-памяти для вершин систем частиц в процентах от общей памяти графического процессора. Установка слишком низкого предела для огромного количества систем частиц в сцене может привести к рендерингу только некоторых из них. Диапазон значений: [0, 100]. Значение по умолчанию : 3. Консольная команда: render_streaming_particles_memory_limit (API) |
Preload at World Loading#
Shaders | значение, указывающее, компилируются ли все шейдеры, используемые в загружаемом мире, и загружаются ли они в оперативную память при каждой загрузке мира.
Предварительная загрузка шейдеров приводит к значительному потреблению памяти. Рекомендуется по возможности использовать предварительно сгенерированный кэш шейдеров (смотрите команду shaders_create). В этом случае необходимые шейдеры загружаются из кэша в оперативную память по требованию. Консольная команда: render_shaders_preload (API) |
---|
Budgets#
Loading | ограничение по времени загрузки графических ресурсов в миллисекундах на кадр. Увеличение ограничения приводит к увеличению производительности потоковой передачи. Однако потребление памяти также увеличивается из-за снижения скорости загрузки ресурсов. Диапазон значений: [0.0f, inf]. Значение по умолчанию : 1.0f. Консольная команда: render_streaming_budget_loading (API) |
---|---|
Textures Destroy | ограничение по времени для удаления текстур в миллисекундах на кадр. Движок распределит процесс очистки текстур по необходимому количеству кадров, чтобы не превысить ограничение по времени. Количество кадров также будет зависеть от объема контента в сцене и вычислительной мощности. Увеличение лимита приводит к увеличению производительности потоковой передачи. Однако потребление памяти также увеличивается из-за снижения скорости выгрузки текстур. Диапазон значений: [0.0f, inf]. Значение по умолчанию : 0.1f. Консольная команда: render_streaming_budget_destroy_textures (API) |
Meshes Destroy | ограничение по времени для удаления сеток в миллисекундах на кадр. Движок распределит процесс очистки сеток по требуемому количеству кадров, чтобы не превысить ограничение по времени. Количество кадров также будет зависеть от объема контента в сцене и вычислительной мощности. Увеличение лимита приводит к увеличению производительности потоковой передачи. Однако потребление памяти также увеличивается из-за снижения скорости выгрузки сетки. Диапазон значений: [0.0f, inf]. Значение по умолчанию : 0.1f. Консольная команда: render_streaming_budget_destroy_meshes (API) |
Textures#
Streaming Mode | режим потоковой передачи текстур. Имеются следующие режимы:
(API) |
---|---|
Cache Resolution | разрешение для элементов кэша текстур. Эти свернутые копии текстур используются вместо оригиналов при загрузке последних. Одно из следующих значений:
Консольная команда: render_streaming_textures_cache_resolution (API) |
Memory Limit | ограничение кэш-памяти, используемой для потоковой передачи текстур. Это рекомендуемое значение, к которому следует стремиться. Таким образом, это значение может быть превышено, если для рендеринга текущего кадра требуются текстуры. Ограничение памяти связано со сроком службы: текстуры удаляются из видеопамяти только при превышении обоих значений. Диапазон значений: [0, 100]. Значение по умолчанию : 65. Консольная команда: render_streaming_textures_memory_limit (API) |
Life Time | время жизни кэша графического процессора, используемого для рендеринга текстур. Движок удаляет текстуры по истечении этого времени только в том случае, если также превышен указанный лимит памяти для потоковой передачи текстур. Диапазон значений: [1, 60]. Значение по умолчанию : 4. Консольная команда: render_streaming_textures_life_time (API) |
Meshes GPU#
Streaming Mode | потоковый режим для загрузки сеток в видеопамять (VRAM). Имеются следующие режимы:
(API) |
---|---|
Memory Limit | ограничение памяти, используемой для загрузки сеток в видеопамять (VRAM). Это рекомендуемое значение, к которому следует стремиться. Таким образом, это значение может быть превышено, если для рендеринга текущего кадра требуются сетки. Ограничение памяти связано со сроком службы: сетки удаляются из видеопамяти только при превышении обоих значений. Диапазон значений: [0, 100]. Значение по умолчанию : 4. Консольная команда: render_streaming_meshes_limit_vram (API) |
Life Time | время жизни ячеек в видеопамяти с момента последнего обращения к ним. Механизм удаляет сетки по истечении этого времени только в том случае, если также превышен указанный лимит видеопамяти. Диапазон значений: [0, 60]. Значение по умолчанию : 4. Консольная команда: render_streaming_meshes_life_time_vram (API) |
Meshes CPU#
Streaming Mode | потоковый режим для загрузки сеток в память (RAM). Имеются следующие режимы:
(API) |
---|---|
Memory Limit | ограничение памяти, используемое для загрузки сеток в оперативную память (RAM). Это рекомендуемое значение, к которому следует стремиться. Таким образом, это значение может быть превышено, если для текущего кадра требуются сетки. Ограничение памяти связано со сроком службы: сетки удаляются из оперативной памяти только при превышении обоих значений. Диапазон значений: [1, 100]. Значение по умолчанию : 5. Консольная команда: render_streaming_meshes_limit_ram (API) |
Life Time | время жизни сеток в памяти с момента последнего обращения к ним. Механизм удаляет сетки по истечении этого времени, только если также превышен лимит оперативной памяти. Диапазон значений: [1, 60]. Значение по умолчанию : 20. Консольная команда: render_streaming_meshes_life_time_ram (API) |
Prefetch CPU#
Collision Mode | режим асинхронной предварительной загрузки сеток в память перед их использованием. Предварительная загрузка доступна только для мешей, имеющих хотя бы одну поверхность с включенным флагом Collision. Существует 3 режима загрузки таких сеток в оперативную память:
(API) |
---|---|
Intersection Mode | режим асинхронной предварительной загрузки сеток в память перед их использованием. Предварительная загрузка доступна только для мешей, имеющих хотя бы одну поверхность с включенным флагом Intersection. Существует 3 режима загрузки таких сеток в оперативную память:
(API) |
Radius | радиус, в пределах которого сетки предварительно загружаются в память. Значение должно превышать физический радиус (для столкновений) и/или радиус, в пределах которого вычисляются пересечения. Диапазон значений: [0.0f, inf]. Значение по умолчанию : 0.0f. Консольная команда: render_streaming_meshes_prefetch_radius (API) |
For OpenGL Only#
Приведенные ниже настройки доступны только для OpenGL API.
Async Buffer |
Размер промежуточного буфера (между ЦП и новым ресурсом), используемого для потоковой передачи сетки и текстур, в МБ. Размер этого буфера должен быть равен размеру самого большого ресурса (сетка / текстура), иначе в случае большего ресурса размер буфера будет изменен, что приведет к скачку. Имейте в виду, что размер этого промежуточного буфера будет добавлен к общему потреблению памяти. |
---|---|
Async Buffer Indices |
Размер промежуточного буфера, аналогичного Async Buffer выше, используемого для потоковой передачи ячеек (для хранения индексов вершин ячеек), в мегабайтах. Имейте в виду, что размер этого промежуточного буфера будет добавлен к общему потреблению памяти. |
Async Buffer Synchronization |
Включите синхронизацию буфера для передачи данных из потокового потока в основной. При отключении асинхронный буфер и асинхронный буфер для индексов каждый раз создаются заново. Это уменьшает количество синхронизаций буфера, но увеличивает количество выделений памяти. Иногда (в зависимости от используемого оборудования / драйвера, например, когда на основной поток влияют примитивы синхронизации в других потоках) распределение памяти может быть быстрее, чем при синхронизации, в таких случаях, когда потоковая передача становится неприемлемо медленной, рекомендуется отключить синхронизацию буфера. |