ВизуализацияПроцесс вывода графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отображает изображение на экране. Подробнее
См. в Словарь ProfilerОкно, помогающее оптимизировать игру. Он показывает, сколько времени вы тратите на различные области вашей игры. Например, он может сообщать о проценте времени, затраченном на рендеринг, анимацию или игровую логику. Подробнее
See in Словарь отображает статистику рендеринга и информацию о том, что CPU и GPU выполняют рендеринг сценыСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь. Вы можете использовать эту статистику для измерения ресурсоемкости различных областей сцены, что полезно для оптимизации.
На диаграмме отображается количество пакетов, вызовов SetPass, треугольников и вершин, обработанных вашим приложением. На нижней панели отображается дополнительная статистика рендеринга, которая соответствует той, что показана в окне GameView Статистика рендеринга.
Диаграмма модуля Rendering Profiler разделена на четыре категории следующим образом:
График | Описание |
---|---|
Batches Count | Количество пакетов, обработанных Unity за кадр. |
SetPass Calls Count | Сколько раз Unity переключала шейдерпрограмму, работающую на графическом процессоре. Подробнее См. в Словарь передать его для рендеринга GameObjectsОсновной объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее См. в Словарь во время кадра. Шейдер может содержать несколько проходов шейдера, и каждый проход по-разному отображает игровые объекты в сцене. |
Triangles Count | Количество треугольников, обработанных Unity за кадр. |
Vertices Count | Количество вершин, обработанных Unity за кадр.. |
Панель сведений о модуле
При нажатии на модуль Rendering Profiler панель сведений в нижней половине окна отображает подробную статистику рендеринга. Эти статистические данные аналогичны статистическим данным, отображаемым в окне Статистика рендеринга.
В левом верхнем углу области сведений выберите "Открыть отладчик фреймов", чтобы открыть отладчик фреймов, который предоставляет информацию об отдельных вызовах отрисовки, которые отрисовывали фрейм.
Эта статистика также доступна через ProfilerRecorder API и в модуле Profiler. Редактор, чтобы вы могли добавить их в пользовательский модуль Profiler.
Статистика | Описание | Доступно в релизных проигрывателях |
---|---|---|
SetPass Calls Count | Количество раз, когда Unity переключала передачу шейдера для рендеринга GameObjects во время кадра. Шейдер может содержать несколько проходов шейдера, и каждый проход по-разному отображает игровые объекты в сцене. | Да |
Draw Calls Count | Общее количество вызовов отрисовки, инициированных Unity за кадр. Unity вызывает вызовы отрисовки при отображении GameObjects на экране. Это число включает непакетные вызовы отрисовки, а также динамические и статические пакетные вызовы отрисовки.. | Да |
Total Batches Count | Общее количество пакетов, обработанных Unity за кадр. В это число входят как статические, так и динамические пакеты.. | Да |
Triangles Count | Количество треугольников, обработанных Unity за кадр. | Да |
Vertices Count | Количество вершин, обработанных Unity за кадр. | Да |
(Dynamic Batching) | Этот раздел содержит статистику по динамической пакетной обработкеавтоматическому процессу Unity, который пытается отобразить несколько сетки, как если бы они были одной сеткой для оптимизации графической производительности. Этот метод преобразует все вершины GameObject на ЦП и группирует множество похожих вершин вместе. More info See in Словарь. |
Нет |
Dynamic Batched Draw Calls Count | Количество вызовов отрисовки Unity, объединенных в динамические пакеты. | Нет |
Dynamic Batches Count | Количество динамических пакетов, обработанных Unity за кадр. | Нет |
Dynamic Batched Triangles Count | Количество треугольников в GameObjects, включенных в динамические пакеты. | Нет |
Dynamic Batched Vertices Count | Количество вершин в GameObjects, включенных в динамические пакеты. | Нет |
Dynamic Batching Time | Время, затраченное Unity на создание динамических пакетных структур. | Нет |
(Static Batching) | Этот раздел содержит статистику по статической пакетной обработкетехнике, которую Unity использует для отрисовки игровых объектов на экран, который объединяет статические (неподвижные) игровые объекты в большие сетки и визуализирует их более быстрым способом. More info See in Словарь. |
Нет |
Static Batched Draw Calls Count | Количество вызовов отрисовки Unity, объединенных в статические пакеты. | Нет |
Static Batches Count | Количество статических пакетов, обработанных Unity за кадр. | Нет |
Static Batched Triangles Count | Количество треугольников в GameObjects, включенных в статические пакеты. | Нет |
Static Batched Vertices Count | Количество вершин в GameObjects, включенных в статические пакеты.. | Нет |
(Instancing) | Этот раздел содержит статистику по инстансированию графических процессоров.. | Нет |
Instanced Batched Draw Calls Count | Количество вызовов отрисовки Unity, объединенных в пакеты экземпляров.. | Нет |
Instanced Batches Count | Количество пакетов, обработанных Unity для рендеринга экземпляров игровых объектов во время кадра. | Нет |
Instanced Batched Triangles Count | Количество треугольников в экземплярах GameObjects. | Нет |
Instanced Batched Vertices Count | Количество вершин в экземплярах GameObjects. | Нет |
Used Textures Count
Used Textures Bytes |
Количество текстуризображения, используемого при рендеринге GameObject, Sprite или UI. элемент. Текстуры часто применяются к поверхности сетки, чтобы придать ей визуальную детализацию. Подробнее См. в Словарь Unity, использованный во время кадра, и объем памяти, используемый текстурами . |
Нет |
Render Textures Count
Render Textures Bytes |
Количество RenderTextures Unity, использованных во время кадра, и объем памяти, использованной RenderTextures. | Да |
Текстуры рендерингаОсобый тип текстуры, который создается и обновляется во время выполнения. Чтобы использовать их, сначала создайте новую текстуру рендеринга и назначьте одну из ваших камер для рендеринга в нее. Затем вы можете использовать Render Texture в материале, как обычную текстуру. More info See in Словарь Changes Count |
Сколько раз Unity устанавливала одну или несколько RenderTexture в качестве целей рендеринга во время кадра.. | Да |
Used Buffers Count
Used Buffers Bytes |
Общее количество буферов графического процессора и памяти, которые они использовали. Сюда входят буферы вершин, индексов и вычислений, а также все внутренние буферы, необходимые для рендеринга. | Да |
Vertex Buffer Upload In Frame Count
Vertex Buffer Upload In Frame Bytes |
Объем геометрии, которую ЦП загрузил в ГП в кадре. Это представляет данные вершин/нормалей/texcoord. На GPU уже может быть некоторая геометрия. Эта статистика включает только геометрию, которую Unity передает в кадре. | Да |
Index Buffer Upload In Frame Count
Index Buffer Upload In Frame Bytes |
Объем геометрии, которую ЦП загрузил в ГП в кадре. Это представляет данные индексов треугольника. На GPU уже может быть некоторая геометрия. Эта статистика включает только геометрию, которую Unity передает в кадре. | Да |
Shadow Casters Count | Количество GameObjects, которые отбрасывают тени в кадре. Если GameObject отбрасывает несколько теней (потому что его освещают несколько источников света), у него есть одна запись для каждой тени, которую он отбрасывает. | Да |
Доступность в проигрывателях
Модуль рендеринга счетчики Profilerразмещен в коде с ProfilerCounter API для отслеживания показателей, таких как количество врагов, порожденных в ваша игра. Подробнее
См. в Словарь также доступны в Players. Используйте ProfilerRecorder API для доступа к информации модуля Render Profiler в Players. Счетчики высокого уровня также доступны в Release Player.
Следующий пример содержит простой скрипт, который собирает метрики «Количество вызовов SetPass», «Количество вызовов отрисовки» и «Количество вершин» и отображает их в виде TextArea.
using System.Text;
using Unity.Profiling;
using UnityEngine;
public class RenderStatsScript : MonoBehaviour
{
string statsText;
ProfilerRecorder setPassCallsRecorder;
ProfilerRecorder drawCallsRecorder;
ProfilerRecorder verticesRecorder;
void OnEnable()
{
setPassCallsRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Render, "SetPass Calls Count");
drawCallsRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Render, "Draw Calls Count");
verticesRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Render, "Vertices Count");
}
void OnDisable()
{
setPassCallsRecorder.Dispose();
drawCallsRecorder.Dispose();
verticesRecorder.Dispose();
}
void Update()
{
var sb = new StringBuilder(500);
if (setPassCallsRecorder.Valid)
sb.AppendLine($"SetPass Calls: {setPassCallsRecorder.LastValue}");
if (drawCallsRecorder.Valid)
sb.AppendLine($"Draw Calls: {drawCallsRecorder.LastValue}");
if (verticesRecorder.Valid)
sb.AppendLine($"Vertices: {verticesRecorder.LastValue}");
statsText = sb.ToString();
}
void OnGUI()
{
GUI.TextArea(new Rect(10, 30, 250, 50), statsText);
}
}
Информация модуля Rendering Profiler относится к категории ProfilerCategory.Render Profiler Определяет данные о рабочей нагрузке для подсистемы Unity (например, категории "Визуализация", "Сценарии" и "Анимация"). Unity применяет цветовое кодирование к категориям, чтобы визуально различать типы данных в окне Profiler.
См. в Словарь.
Если вы хотите выделить выбранные счетчики рендеринга в пользовательском модуле, используйте редактор модулей для настройки диаграммы и подробного представления.