This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Professional (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World Nodes
Звуковые объекты
Объекты поиска пути
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Materials and Shaders
Rebuilding the Engine Tools
GUI
Двойная точность координат
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Сэмплы материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Инструмент Microprofile

UNIGINE has support for Microprofile, an advanced external embeddable CPU/GPU profiler with support for per-frame inspection. UNIGINE поддерживает Microprofile, расширенный внешний встраиваемый профилировщик CPU / GPU с поддержкой покадровой проверки.

Microprofile Tool Инструмент Microprofile

The profiler features the following: Профилировщик имеет следующее:

  • Profiling operations performed by the engine on CPU and GPU. Операции профилирования, выполняемые движком на CPU и GPU.
  • Profiling the engine threads. Профилирование потоков движка.
  • Profiling up to 1000 frames. Профилирование до 1000 кадров.
  • The performance data output to a local web server. Вывод данных о производительности на локальный веб-сервер или в файл HTML.

Running MicroprofileЗапуск Microprofile#

The Microprofile tool is available only for the Development builds of UNIGINE Engine: it won't be compiled for the Debug and Release ones. You can use the microprofile_info console command to check if the Microprofile is compiled. Инструмент Microprofile доступен только для Development сборок движка: он не будет компилироваться для сборок Debug и Release. Вы можете использовать консольную команду microprofile_info, чтобы проверить, скомпилирован ли Microprofile.

The performance data obtained by the Microprofile can be output to a local web server.Данные о производительности, полученные Microprofile могут выводиться на локальный веб-сервер или в файл HTML.

Примечание
The Microprofile shows valid information only after the first 1000 frames are rendered (e.g. at the framerate of 60 FPS, such "warmup" time comprises about 16 seconds). Microprofile показывает действительную информацию только после рендеринга первых 1000 кадров (например, при частоте кадров 60 кадров в секунду такое время "разогрева" составляет около 16 секунд).

Visualization Using Built-In ServerВизуализация с использованием встроенного сервера#

To visualize the performance data using the local web server, perform the following: Чтобы визуализировать данные о производительности с помощью локального веб-сервера, выполните следующие действия:

  1. In the console, set the the number of frames to be profiled via the microprofile_webserver_frames console command. You can skip this step: by default, 500 frames will be profiled. В консоли установите количество кадров для профилирования с помощью консольной команды microprofile_webserver_frames . Вы можете пропустить этот шаг: по умолчанию будет профилировано 500 кадров.
  2. On the Menu Bar of UnigineEditor, choose Tools -> Microprofile.

    В строке меню UnigineEditor выберите Tools -> Microprofile.

The performance data will be displayed in your Web browser. Данные о производительности будут отображаться в вашем веб-браузере.

Примечание
  • You can display only a part of the profiled frames: in the Web browser address bar, add /<number_of_frames> to the current URL.You can display only a part of the profiled frames: in the Web browser address bar, add /<number_of_frames> to the current URL.
  • Don't forget to refresh (F5) the page in the Web browser while the profiling data is collected as it is not performed automatically.Don't forget to refresh (F5) the page in the Web browser while the profiling data is collected as it is not performed automatically.
You can display only a part of the profiled frames: in the Web browser address bar, add /<number_of_frames> to the current URL.Don't forget to refresh (F5) the page in the Web browser while the profiling data is collected as it is not performed automatically.
  • You can display only a part of the profiled frames: in the Web browser address bar, add /<number_of_frames> to the current URL.Вы можете отображать только часть профилированных фреймов: в адресной строке веб-браузера добавьте /<number_of_frames> к текущему URL-адресу.
  • Don't forget to refresh (F5) the page in the Web browser while the profiling data is collected as it is not performed automatically.Не забудьте обновить ( F5 ) страницу в веб-браузере во время сбора данных профилирования, поскольку это не выполняется автоматически.

For example, if you specify localhost:1337/100, only the first 100 frames will be displayed. Например, если вы укажете localhost:1337/100, будут отображаться только первые 100 кадров.

Примечание
All available console commands can be found in the Performance Profiling section of the article on Console. Все доступные консольные команды можно найти в разделе Performance Profiling статьи о Консоли .

Performance DataДанные о производительности#

The Microprofile visualizes the detailed per frame performance data on the operations performed by the engine on CPU and GPU and on the engine threads. In the Microprofile main menu, you can change the visialization mode: click Mode and choose the required one. By default, the Detailed mode is set. Microprofile визуализирует подробные данные о производительности для каждого кадра операций, выполняемых движком на CPU и GPU и в потоках движка. В главном меню Microprofile вы можете изменить режим визуализации: нажмите Mode и выберите нужный. По умолчанию установлен режим Detailed.

Profiling Groups Displayed in Detailed Mode Группы профилирования, отображаемые в режиме Detailed

In the Detailed mode, each operation (function) and thread is displayed as a separate colored region. The regions are hierarchical: the function called by the other function is displayed under the last one. The size of the region is determined by the time the corresponding operation takes. В режиме Detailed каждая операция (функция) и поток отображаются в виде отдельной цветной области. Регионы являются иерархическими: функция, вызванная другой функцией, отображается под последней. Размер области определяется временем выполнения соответствующей операции.

In the picture below, the Engine::do_render() function calls the RenderRenderer::renderWorld() functions and so on: На рисунке ниже функция Engine::do_render() вызывает функции RenderRenderer::renderWorld() и так далее:

To view the data on a certain operation or a thread, point to the corresponding region. To zoom in/out the displayed regions, scroll the mouse wheel. Чтобы просмотреть данные об определенной операции или потоке, наведите указатель мыши на соответствующую область. Чтобы увеличить / уменьшить отображаемые области, прокрутите колесико мыши.

CPU DataДанные ЦП#

In the Main group of the performance data, the call stack of the operations (e.g., update, rendering, etc.) performed by the engine on CPU is displayed. В группе данных производительности Main отображается стек вызовов операций (например, update, rendering и т. д.), выполняемых движком на ЦП.

Performance Data on World Update Function Данные о производительности функции World Update

GPU DataДанные GPU#

In the GPU group of the performance data, the call stack of the operations performed by the engine on GPU is displayed. In addition to the main performance data, for each function (e.g. environment rendering, post materials rendering and so on), the number of DIP calls and rendered triangles is shown. Also there can be the number of surfaces, lights, shadows rendered by this function, the number of materials and shaders used; the information on the node or material for which the function is called (identifier, name, etc.). В группе данных о производительности GPU отображается стек вызовов операций, выполняемых движком на GPU. В дополнение к основным данным о производительности для каждой функции (например, рендеринга среды, рендеринга пост-материалов и т.д.) отображается количество вызовов DIP и визуализированных треугольников. Также может отображаться количество поверхностей, источников света, теней, отрендеренных этой функцией, количество используемых материалов и шейдеров; информация об узле или материале, для которого вызывается функция (идентификатор, имя и т.д.).

Performance Data on Deferred Lighting Rendering Данные о производительности отложенного рендеринга освещения

When the region that corresponds to the certain function is pointed, the Microprofile displays when this function is called on CPU and how much time is spent on its performing. Когда указывается область, соответствующая определенной функции, отображается Microprofile, когда эта функция вызывается на CPU и сколько времени затрачивается на ее выполнение.

OpenGL or DirectX commands can be combined into GPU Debug groups that are created automatically when defining a profiling scope. All graphic resources loaded from external files, such as textures, shaders, static or skinned meshes, as well as the Engine's internal resources, have their own debug names to simplify identification. This information can be useful when using Graphics API debuggers, such as NVIDIA Nsight or RenderDoc. OpenGL или команды DirectX можно объединить в группы отладки графического процессора, которые создаются автоматически при определении области профилирования. Все графические ресурсы, загружаемые из внешних файлов, такие как текстуры, шейдеры, статические сетки или сетки со скинами, а также внутренние ресурсы движка имеют свои собственные имена отладки для упрощения идентификации. Эта информация может быть полезна при использовании отладчиков Graphics API, таких как NVIDIA Nsight или RenderDoc.

Example of debug data viewed in RenderDoc Пример данных отладки, просматриваемых в RenderDoc

Engine Threads DataДанные о потоках движка#

The performance data on the engine threads is visualized in the CPUThread, SoundThread, AsyncQueueThread, WorldSpawnMeshClutterThread, WorldSpawnGrassThread groups. Данные о производительности потоков движка визуализируются в группах CPUThread, SoundThread, AsyncQueueThread, WorldSpawnMeshClutterThread, WorldSpawnGrassThread.

Performance Data on Physics Thread Данные о производительности в потоках симуляции физики

Video Tutorial: Performance Inspection with MicroprofileВидеоурок: Проверка производительности с помощью Microprofile#

Последнее обновление: 10.03.2022
Build: ()