Параметры производительности 3DGS по пунктам
Этот документ поэлементно описывает, что делает каждый параметр, какие значения он принимает и какой результат даёт его изменение; он предназначен для поиска значения отдельного параметра. Пошаговый процесс поиска узкого места и настройки описан в Руководстве по производительности.
Таблица под заголовком каждого параметра указывает группу, диапазон значений, значение по умолчанию, применимый конвейер и способ вступления в силу. Когда конвейер указан как «LCC» или «LCC2», параметр действует только в этом конвейере; параметры, помеченные «Общий», работают в обоих. О понятии конвейера см. Введение.
Параметры панели Actor
Находятся в категории Performance панели Details у Actor и сгруппированы по области применения:
- Группа Base: общая для обоих конвейеров, присутствует у каждого LCC Actor
- Группа конкретного конвейера: отображается только у Actor соответствующего конвейера, имя группы совпадает с именем конвейера. В текущей версии своя группа есть только у конвейера LCC (имя группы LCC), а у Actor конвейера LCC2 отображается только группа Base

Группа Base: параметры производительности, общие для обоих конвейеров

Группа LCC: отображается только у Actor конвейера LCC
Примечание: у каждого параметра в категории Performance слева есть флажок. Пока флажок снят, параметр использует встроенное значение по умолчанию плагина, и введённое значение не действует. Если изменение ни на что не влияет, сначала убедитесь, что флажок установлен.
Max Distance
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | Любое положительное целое | 300 | Общий | Немедленно |
Максимальная дистанция рендеринга, в метрах. Узлы за пределами этой дистанции не рендерятся и не загружаются. Это параметр с самой прямой отдачей: его уменьшение одновременно снижает стоимость обхода, загрузки, выгрузки в видеопамять и рендеринга.
Уменьшение заметно повышает частоту кадров и снижает расход памяти и видеопамяти, ценой исчезновения дальнего содержимого и явного обрыва на границе. Рассматривайте его вместе с Range For Level: если максимальная дистанция меньше дистанции какого-либо Level, этот Level и все более дальние не используются.
Max Splat Num
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | 0 ~ 10000 (единица: 10 000) | 3000 | Общий | Немедленно |
Максимальное количество точек, рендерящихся за кадр. После обхода узлы отбрасываются от дальних к ближним, пока общее количество точек не окажется в пределах этого лимита. Это жёсткий барьер: сколько бы содержимого ни было в кадре, объём рендеринга за кадр никогда не превысит это значение.
Уменьшение ограничивает нагрузку и предотвращает падения частоты кадров на открытых видах, ценой отбрасывания дальних узлов, поэтому при повороте вида может быть видно пропадание дальнего плана. Слишком большие значения автоматически ограничиваются объёмом, который реально можно отрендерить за один кадр.
Level Factor
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | 0,01 ~ 20 | 1 | Общий | Немедленно |
Коэффициент масштабирования выбора Level, управляет тем, «с какого расстояния начинает падать точность». Конвейеры реализуют его по-разному: конвейер LCC масштабирует им глобальную таблицу дистанций Range For Level, а конвейер LCC2 — порог экранной погрешности, но направление эффекта одинаково.
При значении выше 1 переход на менее точные Level происходит раньше, деталей меньше, производительность выше; ниже 1 — точность падает позже, изображение резче, но стоимость выше. Держите значение 1 и повышайте его небольшими шагами только при реальной нехватке производительности.
Start Level
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | 0 ~ 20 | 0 | Общий | Немедленно |
Начальный Level, ограничивает максимально доступную точность. Значение по умолчанию 0 разрешает использовать Level с наивысшей точностью.
При значении 1 и выше самый детальный Level не загружается даже при близком осмотре: ближнее изображение становится размытее, зато объём загрузки и расход видеопамяти заметно падают. На слабых устройствах и мобильных платформах значение стоит повысить.
End Level
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | 0 ~ 20 | 20 | Общий | Немедленно |
Конечный Level, ограничивает самый грубый доступный Level. Значение по умолчанию 20 не задаёт ограничений, поэтому можно использовать самый грубый Level, имеющийся в данных.
При уменьшении более грубые Level из данных не используются, и дальнее содержимое может оставаться только на уровне End Level. Пропусков в изображении не появляется, но точек рендерится больше, чем нужно, и производительность наоборот падает. Поэтому это не способ ускорения, и обычно значение остаётся равным 20.
Max Load Collision Distance
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | Любое положительное целое | 300 | Общий | Немедленно |
Максимальная дистанция загрузки данных коллизий, в метрах. Действует только после включения коллизий.
Оба конвейера загружают данные коллизий по частям: загружаются только блоки коллизий в пределах этой дистанции вокруг камеры, и они динамически подкачиваются и выгружаются по мере движения камеры. Поэтому это значение определяет, сколько данных коллизий находится в памяти в любой момент.
Уменьшение напрямую снижает расход памяти Collision Data Usage и время Update Collision, ценой отсутствия коллизий вдали.
При работе с системой навигации значение обычно нужно увеличить, чтобы коллизии целевой области загрузились за один проход. Иначе коллизии во время выполнения постоянно обновляются вместе с движением камеры, что непрерывно запускает перестроение навигационных данных и вызывает заметные рывки. См. Поддержка системы навигации.
Use Full Load
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | Включено / Выключено | Включено | Общий | Перезагрузка данных |
Разрешён ли рендеринг с полной загрузкой. Когда включено и количество точек Level 0 не превышает Full Load Splat Number, весь набор данных загружается сразу и постоянно находится в видеопамяти, минуя обход и выгрузку на каждом кадре; иначе происходит откат к загрузке по требованию.
Включение даёт более стабильную частоту кадров в небольших сценах без границ узлов и скачков детализации, ценой постоянного размещения всего набора данных в видеопамяти. При выключении загрузка всегда идёт по требованию.
Поведение видеопамяти после выключения различается по конвейерам:
- Конвейер LCC выделяет видеопамять по узлам, поэтому расход меняется вместе с видимым диапазоном
- Конвейер LCC2 выделяет буфер видеопамяти заранее по бюджету, поэтому расход не меняется вместе с видимым диапазоном; меняется только объём данных, фактически заполняющих буфер
См. Рендеринг.
Full Load Splat Number
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Base | Любое положительное целое (единица: 10 000) | 1500 | Общий | Перезагрузка данных |
Верхний предел количества точек Level 0, при котором разрешён рендеринг с полной загрузкой.
Увеличение позволяет использовать рендеринг с полной загрузкой для более крупных сцен — убедитесь, что видеопамяти достаточно. Уменьшение приводит к откату большего числа сцен к загрузке по требованию.
Sort Factor
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| LCC | 0,2 ~ 5 | 1 | Только LCC | Немедленно |
Коэффициент масштабирования частоты сортировки. Применяется к глобальной таблице Sort Frequency For Level и управляет тем, как часто пересортируются узлы каждого Level.
Увеличение сокращает число сортировок и повышает производительность, но порядок наложения полупрозрачных элементов обновляется с задержкой при смене вида, из-за чего возможны кратковременные ошибки взаимного проникновения. Уменьшение сортирует своевременнее, но дороже. Держите значение 1.
Add Extra Preload Nodes
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| LCC | Включено / Выключено | Включено | Только LCC | Немедленно |
Добавлять ли в очередь загрузки дополнительные предзагружаемые узлы. При включении предзагружается часть узлов за пределами края пирамиды видимости.
Включение уменьшает дыры у края экрана при быстром повороте вида, ценой увеличения числа рендерящихся узлов. Выключение снижает число узлов, но пропуски у края при быстрых поворотах становятся вероятнее.
Rasterizer
| Группа | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| XGrids | Pipeline / Tiled | Pipeline | Только LCC2 | Немедленно |
Способ растеризации. Этот пункт находится не в категории Performance: он расположен в категории XGrids панели Details, сразу после Render Mode, и появляется только тогда, когда Render Mode равен 3DGS.
Значение Tiled использует собственный вычислительный путь плагина с разбиением экрана на тайлы, визуальный результат при этом совпадает с Pipeline. Выигрыш в частоте кадров заметен на изображениях с высокой плотностью splat и сильным экранным перекрытием, а на разреженных изображениях или при узком месте вне этапа рендеринга изменений может не быть — проверяйте измерением.
Tiled — экспериментальная возможность и требует лицензии редакции Pro; без неё происходит автоматический откат к Pipeline. См. Растеризация Tiled.
Глобальные настройки ProjectSettings
Находятся в ProjectSettings > Plugins > LCC4Unreal. Они действуют на все LCC Actor в сцене и не могут настраиваться отдельно для каждого Actor.

Настройка глобальных параметров LCC4Unreal в ProjectSettings
Language
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| General | Follow Editor / Always English | Follow Editor | Общий | Немедленно |
Язык интерфейса плагина. Follow Editor следует настройке языка редактора, Always English принудительно включает английский. См. Локализация.
AutoExposure Enable
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| LCC | Включено / Выключено | Выключено | Общий | Требуется перезапуск редактора |
Включена ли автоматическая экспозиция. По умолчанию выключена, потому что автоэкспозиция заставляет яркость 3DGS колебаться вместе с содержимым в кадре. После включения яркость изображения автоматически подстраивается при движении камеры.
SceneCaptureComponent Support
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| LCC | Включено / Выключено | Включено | Только LCC | Немедленно |
Может ли SceneCapture рендерить содержимое LCC.
Включение делает 3DGS видимым в SceneCapture, ценой того, что каждый Capture считается отдельным видом и увеличивает стоимость обхода. В проектах, где SceneCapture не используется, выключите его, чтобы сэкономить эту стоимость.
SingleLayerWater Support
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| LCC | Включено / Выключено | Выключено | Только LCC2 | Требуется перезапуск редактора |
Включайте, когда 3DGS перекрывается материалом однослойной воды.
Включение обеспечивает корректное отображение 3DGS на водной поверхности, ценой потери качества теней виртуальной карты теней для пикселей воды. Этот пункт записывает r.Water.SingleLayer.DepthPrepass в файл DefaultEngine.ini проекта. См. Поддержка однослойной воды.
Splat Number For Discard Per Node
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| LCC | Любое положительное целое | 5 | Только LCC | Перезагрузка данных |
Отбрасывает данные узла, когда количество точек в нём ниже этого значения; решение принимается при разборе index.bin во время построения узлов. В части наборов данных много мелких узлов, содержащих всего одну-две точки, и стоимость их планирования намного превышает их ценность для рендеринга.
Увеличение сокращает общее число узлов и снижает стоимость обхода и загрузки, ценой большего числа отброшенных точек, поэтому в разреженных областях могут появиться пропуски.
Методы сглаживания
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| AntiAliasing | Методы сглаживания, поддерживаемые движком | См. таблицу ниже | Общий | Немедленно |
Сглаживание убирает ступенчатые зубцы на краях объектов. У обычных мешей есть выраженные геометрические края, где зубцы заметны и требуют сглаживания; 3DGS складывается из множества полупрозрачных splat, поэтому его края сами по себе градиентные и зубцы малозаметны.
Четыре настройки соответствуют режимам 3DGS и облака точек каждого конвейера, и плагин применяет их автоматически после включения bAffectAntiAliasingMethod у Actor.
| Настройка | По умолчанию | Применяется к |
|---|---|---|
| LCC1 Splat Anti-aliasing Method | FXAA | Режим 3DGS конвейера LCC (без глубины) |
| LCC2 Splat Anti-aliasing Method | TSR | Режим 3DGS конвейера LCC2 (с глубиной) |
| LCC1 Point Cloud Anti-aliasing Method | MSAA | Режим облака точек конвейера LCC |
| LCC2 Point Cloud Anti-aliasing Method | TSR | Режим облака точек конвейера LCC2 |
Конвейер LCC по умолчанию не использует TSR / TAA, потому что при отсутствии информации о глубине оба метода дают шлейфы при движении камеры.
Стоимость сглаживания на GPU не мала, и TSR особенно заметен. Когда в сцене есть только 3DGS и нет обычных мешей, установите соответствующую настройку в None, чтобы отключить сглаживание; качество изображения обычно теряется незначительно, а выигрыш в частоте кадров существенный. В сценах, где смешаны обычные модели, UI или каркасные линии, отключение делает края этого содержимого заметно зубчатыми.
Реальную разницу в стоимости между методами измеряйте через ProfileGPU на целевой сцене, поскольку разрыв сильно различается на разных разрешениях и оборудовании.
Примечание: когда в сцене одновременно присутствуют Actor обоих конвейеров, действующий метод зависит от порядка выполнения, поэтому задайте одинаковое значение вручную. См. Визуальные настройки.
Enable Post Process
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Rendering | Включено / Выключено | Включено | Общий | Немедленно |
Участвуют ли пиксели LCC в конвейере постобработки движка.
Когда включено, 3DGS получает тональную компрессию, Bloom, экспозицию и другую постобработку вместе с обычными объектами сцены, что даёт единый вид. Когда выключено, 3DGS сохраняет исходные цвета и не затрагивается тональной компрессией и последующими этапами. Для выключения требуется вывод альфа-канала в движке. См. Визуальные настройки.
Apply Tonemap Inverse
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Rendering | Включено / Выключено | Выключено | Общий | Немедленно |
Применяется ли FilmToneMapInverse при преобразовании цветового пространства.
Включение заранее отменяет тональную компрессию движка, поэтому итоговое изображение восстанавливает исходный контраст и цвета данных. Выключение оставляет 3DGS и обычные объекты в одной и той же тональной компрессии.
Quad Extent Threshold
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Rendering | 0,001 ~ 0,1 | 0,006 | Только LCC2 | Немедленно |
Управляет тем, насколько далеко квад splat расширяется от центра гауссианы. Каждый splat растеризуется в квад, и чем крупнее квад, тем больше пикселей он покрывает.
Увеличение делает квады компактнее, уменьшает overdraw и снижает стоимость заполнения пикселей, но может обрезать края полупрозрачных splat, что проявляется как более жёсткие контуры или потеря краёв. Уменьшение сохраняет края полнее при более высокой стоимости заполнения.
Small Splat Threshold
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Rendering | 0,0 ~ 4,0 | 0 (выключено) | Только LCC2 | Немедленно |
Splat, размер которых на экране меньше этого значения в пикселях, сворачиваются в один пиксель и пропускают расчёт SH.
Увеличение пропускает расчёт затенения для множества мелких дальних splat и заметно снижает стоимость GPU, ценой потери зависящего от вида изменения цвета на дальнем плане, что может проявляться зернистостью или лёгким мерцанием.
Frustum Cull Margin
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Rendering | 1,0 ~ 2,0 | 1,2 | Только LCC2 | Немедленно |
Коэффициент отступа при отсечении по пирамиде видимости для каждого splat.
При значении выше 1,0 пирамида видимости расширяется наружу, что не даёт splat у края экрана внезапно выскакивать при повороте камеры; чем больше значение, тем больше краевых splat сохраняется при слегка более высокой стоимости. При значении 1,0 отсечение строго следует пирамиде видимости, и у края возможен эффект выскакивания.
Max CPU Usage Percetage For Free
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Usage | 50 ~ 100 | 90 | Общий | Немедленно |
Освобождение узлов запускается, когда расход памяти достигает этого процента.
Уменьшение начинает освобождение раньше и делает расход памяти более консервативным, но подкачка и выгрузка становятся чаще. Увеличение расходует больше памяти и создаёт риск сбоя при приближении к системному пределу.
CPU Release Percetage
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Usage | 10 ~ 100 | 30 | Общий | Немедленно |
Процент данных, очищаемых при каждом срабатывании освобождения.
Увеличение освобождает больше за раз и срабатывает реже, но освобождённые данные приходится загружать снова, что легко вызывает единичный рывок. Значение 100 не рекомендуется.
Max GPU Usage Percetage For Free
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Usage | 50 ~ 100 | 80 | Общий | Немедленно |
Освобождение запускается, когда расход видеопамяти достигает этого процента. При освобождении узлы ранжируются по совокупности времени последнего рендеринга, частоты обращений, размера данных и Level, первыми освобождаются давно не использованные, а узлы с высоким Level защищаются.
Уменьшение безопаснее: как только доступная видеопамять карты превышена, драйвер выгружает данные в системную память, и падение частоты кадров оказывается намного хуже, чем при подкачке и выгрузке.
GPU Release Percetage
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Usage | 10 ~ 100 | 30 | Общий | Немедленно |
Процент данных в видеопамяти, освобождаемых при каждом срабатывании. Критерии ранжирования совпадают с CPU Release Percetage.
LCC2 GPU Memory Budget
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Usage | 2048 ~ 8192 | 2048 | Только LCC2 | Требуется перезапуск редактора |
Бюджет видеопамяти для данных splat одной модели .lcc2. Буферы сортировки не входят в этот бюджет: каждый постоянно размещённый splat дополнительно стоит 16 байт на вид.
Увеличение позволяет держать в видеопамяти больше данных одновременно и уменьшает дыры и размытость, вызванные подкачкой и выгрузкой. Но бюджет — это лишь верхний предел запроса плагина, и превышение фактически доступной видеопамяти карты наоборот замедляет работу. Бюджет ограничивает окно постоянного размещения при потоковой загрузке и не относится к одиночным форматам (.sog / .spz / .ply), которые должны находиться в памяти целиком, поэтому его изменение не влияет на объём, который можно загрузить из одного файла. См. Рендеринг.
Range For Level
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Level | Фиксированный массив из 11 чисел с плавающей точкой | 15, 50, 80, 110, 140, 170, 190, 220, 250, 280, 350 | Только LCC | Немедленно |
Диапазон дистанций каждого Level, в метрах. Пункт N задаёт границу дистанции, на которой действует Level N.
Это базовая таблица LOD, и её изменение напрямую влияет на все LCC Actor. Обычно её не правят напрямую, а масштабируют целиком через Level Factor у Actor. Учитывайте связь максимальной дистанции рендеринга с этой таблицей: если максимальная дистанция меньше одного из этих значений, соответствующий Level не используется.
Sort Frequency For Level
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Level | Фиксированный массив из 11 чисел с плавающей точкой | 5, 15, 25, 40, 50, 70, 90, 110, 130, 150, 170 | Только LCC | Немедленно |
Частота сортировки каждого Level. Чем выше Level и чем больше дистанция, тем длиннее интервал между пересортировками.
Общее увеличение значений снижает стоимость сортировки, ценой более поздних обновлений порядка прозрачности у дальних узлов. Обычно используйте Sort Factor у Actor для общего масштабирования, а не правьте эту таблицу напрямую.
Примечание: конвейер LCC2 выбирает Level по экранной погрешности и не использует Range For Level; его сортировка — глобальная сортировка по splat внутри единого Buffer, и Sort Frequency For Level в ней не участвует.
Default Traversal Type
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Traversal | Sector / Circle | Sector | Общий | Требуется перезапуск редактора |
Способ обхода узлов. Sector отбирает видимые узлы по пирамиде видимости, Circle отбирает по дистанции в форме круга.
Sector обрабатывает только узлы внутри поля зрения и дешевле, это рекомендуемое значение. Circle включает все узлы в круге вокруг камеры и дороже, зато узлы никогда не остаются незагруженными лишь потому, что только что вошли в пирамиду видимости. Попробуйте Circle в сценах с несколькими вьюпортами или быстрым вращением.
Настройки пулов потоков
| Категория | Диапазон | По умолчанию | Конвейер | Вступает в силу |
|---|---|---|---|---|
| Loader / Traversal / Sort / Exporter | См. таблицу ниже | См. таблицу ниже | Только LCC | Требуется перезапуск редактора |
Эти пулы потоков используются модулями загрузки, обхода и сортировки конвейера LCC. Конвейер LCC2 загружает данные через собственный пул потоков движка и не зависит от этих настроек; исключение — загрузка данных коллизий, где оба конвейера используют общую конфигурацию потоков Loader.
Пулы потоков создаются по конфигурации при инициализации модуля, поэтому после изменения требуется перезапуск редактора.
У каждого из четырёх типов потоков есть две настройки: «максимальное число потоков» и «число предварительно создаваемых потоков»:
| Настройка | Диапазон | По умолчанию | Назначение |
|---|---|---|---|
| Max Loader Thread Number | 5 ~ 100 | 20 | Загрузка данных |
| Pre-Create Loader Thread Number | 0 ~ 100 | 5 | Предварительно создаваемые потоки загрузки |
| Max Traversal Thread Number | 5 ~ 100 | 20 | Обход узлов |
| Pre-Create Traversal Thread Number | 0 ~ 100 | 5 | Предварительно создаваемые потоки обхода |
| Max Sort Thread Number | 5 ~ 100 | 20 | Сортировка |
| Pre-Create Sort Thread Number | 0 ~ 100 | 5 | Предварительно создаваемые потоки сортировки |
| Max Exporter Thread Number | 5 ~ 100 | 20 | Экспорт данных, не связан с рендерингом во время выполнения |
| Pre-Create Exporter Thread Number | 0 ~ 100 | 5 | Предварительно создаваемые потоки экспорта |
Чем больше потоков, тем не обязательно лучше. Когда узкое место — дисковый ввод-вывод, добавление потоков загрузки не помогает и только усиливает конкуренцию. Повышайте предел только тогда, когда в stat xgrids видно, что очередь соответствующего потока постоянно накапливается, а у CPU есть запас.
Предварительно созданные потоки избавляют от расходов на создание потоков во время выполнения, и увеличение их числа снижает задержку в момент начала загрузки сцены.
Статистика
Откройте панель статистики консольной командой stat xgrids или нажмите Stats в категории Developer панели Actor.

Просмотр статистики производительности в реальном времени через stat xgrids
Панель состоит из трёх разделов:
| Раздел | Столбцы | Значение |
|---|---|---|
| Cycle counters (flat) | CallCount, InclusiveAvg, InclusiveMax, ExclusiveAvg, ExclusiveMax | Показатели времени. Inclusive включает вложенные вызовы, Exclusive учитывает только сам вызов |
| Memory Counters | UsedMax, Mem%, MemPool, Pool Capacity | Расход памяти и видеопамяти, где Physical означает пул физической памяти |
| Counters | Average, Max, Min | Количественные показатели |
Cycle counters (показатели времени)
| Показатель | Значение и применение |
|---|---|
| Update Collision | Время обновления данных коллизий. Имеет значение только после включения коллизий; высокое значение говорит о частом перестроении коллизий, поэтому уменьшите дистанцию загрузки коллизий |
| Update Camera Info | Время сбора информации о камере на каждом кадре. Чем больше видов, тем выше значение; сопоставляйте его с Camera Num |
| Component Update | Время обновления компонентов на каждом кадре, стоимость на потоке Game. Накапливается, когда в одной сцене несколько LCC Actor |
| Get Physics Trimesh Data | Время передачи треугольных сеток коллизий в физическую систему. Появляется только во время физической запечки и является прямой причиной рывков из-за коллизий |
| Get From Cache | Время получения данных при попадании в кэш. По сравнению с чтением с диска это быстрый путь, поэтому высокая доля здесь — хороший признак |
Memory Counters (память и видеопамять)
| Показатель | Значение и применение |
|---|---|
| CPU Usage | Системная память, занятая LCC. Смотрите вместе с CPU Occupy Percentage, чтобы оценить близость к порогу освобождения |
| Collision Data Usage | Память, занятая данными коллизий. Чем больше дистанция коллизий, тем выше значение, и это самый прямой выигрыш от отключения коллизий |
| Position Data(For Raycast) Usage | Память данных о положении, используемых для трассировки лучей. Равна 0, когда трассировка не выполняется |
| GPU Usage | Видеопамять, занятая LCC. Измеряется иначе, чем GPU Occupy Percentage |
Counters (количественные показатели)
| Показатель | Значение и применение |
|---|---|
| Total Splats | Общее количество точек набора данных, фиксированное значение |
| Level0 Splats | Количество точек Level 0, определяет выполнение условий рендеринга с полной загрузкой |
| Current Render Main Splats | Количество основных точек, отрендеренных в текущем кадре. Сопоставление с Max Splat Num показывает, достигнут ли предел количества точек |
| Current Render Nodes | Количество узлов, отрендеренных в текущем кадре |
| Total Nodes | Общее количество узлов набора данных, фиксированное значение |
| Released GPU Node Num | Количество узлов, освобождённых из видеопамяти. Постоянный рост говорит о частой подкачке и выгрузке, что обычно означает недостаточный бюджет видеопамяти |
| Released CPU Node Num | Количество узлов, освобождённых из памяти. Оценивается так же, как выше |
| GPU Occupy Percentage | Процент расхода видеопамяти. При приближении к порогу Max GPU Usage освобождение вот-вот сработает |
| CPU Occupy Percentage | Процент расхода памяти |
| Loader Thread Num | Количество потоков загрузки. Повышайте предел только тогда, когда очередь накапливается, а у CPU есть запас |
| Pre-Loader Thread Num | Количество потоков предзагрузки |
| Collision Loader Thread Num | Количество потоков загрузки коллизий |
| Sort Thread Num | Количество потоков сортировки |
| Traversal Thread Num | Количество потоков обхода |
| Exporter Thread Num | Количество потоков экспорта, не связано с рендерингом во время выполнения |
| Camera Num | Количество камер, участвующих в обновлении |
| Camera Num(Render) | Количество видов, участвующих в рендеринге, прямая основа для оценки стоимости SceneCapture, разделения экрана и nDisplay |
| Node Vector Pool Num | Количество объектов в пуле векторов узлов, внутренняя статистика переиспользования объектов |
| Valid Node Num | Количество действительных узлов, внутренняя статистика состояния |
Инструменты отладки
| Инструмент | Описание |
|---|---|
| Debug Node Bound | Визуализирует границы узлов октодерева, цвет обозначает Level (красный — наивысшая точность, белый — наименьшая). Используйте, чтобы убедиться, что параметры LOD действуют как ожидается |
| Stats | Показывает статистику рендеринга в реальном времени, эквивалент stat xgrids |
| FreezeRendering | Замораживает текущее состояние рендеринга. После заморозки перемещение камеры больше не запускает обход, что позволяет проверить, какие узлы фактически отправлены в текущем кадре |