ассет “EasyPerformanceMonitor – 2025”
[Документация](https://docs.guardingpearsoftware.com/manual/EasyPerformanceMonitor/Setup.html)
[ Unity Asset Store](https://assetstore.unity.com/packages/tools/utilities/easyperformancemonitor-2025-258079?srsltid=AfmBOop-gmQ12JQsVyzffQca10LbRGy0oxcvpX_dXnoVGFf58EzdMe_i#:~:text=)
![[IMG_0684.jpg]]
В отличии от [[[Graphy] - Ultimate FPS Counter - Stats Monitor & Debugger|Graphy]] он умеет:
- Отображать нагрузку на GPU
- выводит количество отрисованных треугольников
Убедился, что корректно работает на Android.
Easy Performance Monitor не умеет выводить количество Draw Calls из коробки
- Но это легко [[#Как добавить в ассет измерение Draw Calls|исправить]].
Я не был уверен, что ассет действительно выводит количество отрисованных треугольников на мобильных устройствах, поэтому перед покупкой решил спиратить ее.
Чтобы в релизной версии билда мониторинг отображался, необходимо в префабе поставить галку напротив `Development build only`.
![[Снимок экрана 2025-05-23 в 10.26.54.png|300]]
### Обновление собственного репозитория с ассетом до версии из Asset Store
Я создал приватный репозитория под ассет, потому что вношу небольшие изменения. Изменения вношу так, чтобы не редактировать исходный файлы ассета, а создавать новые.
Так как предполагаются незначительные изменения по сравнению с версией из Asset Store и чтобы пока не заморачиваться, я просто скачиваю из Asset Store новую версию ассета и закидываю в папку с репозиторием и выбираю "заменить все совпадения".
- Важно перед этим не забыть закрыть Unity-редактор, а иначе unity будет пытаться пересоздать .meta всех файлов в ассете.
### Нюансы
У префаба `Monitor` есть вложенный префаб `GPU Time` (на сцене он отображается как `GPU`), данный префаб использует скрипт `GpuFrameTimeProvider`. В скрипте для мобильных устройств GPU подсчитывается с помощью вызова cpuRenderThreadFrameTime, по этой причине: [[gpuFrameTime возвращает некорректное время работы GPU]]
### Как добавить в ассет измерение Draw Calls
1. Дублируем префаб. Например: `EasyPerformanceMonitor/Prefabs/Components/Vertices - Component.prefab`
2. Переименовываем префаб в `Draw Calls - Component.prefab`
2. Заменяем компонент `GpuVerticesProvider` на `GpuDrawCallsProvider`
- По сути, это делается только удалением старого компонента и добавлением нового
3. Заполняем поля в новом компоненте так же, как это было в старом компоненте.
4. Так как префаб `Vertices - Component.prefab` является частью другого префаба `Monitor`, то добавляем в `Monitor` наш новый префаб.
5. Настраиваем у нового префаба расположение на экране.
### Описание от GPT
**Основные возможности:** Отображает **детальные показатели производительности** в игре. В частности, выводит **количество Draw Calls и отрисованных треугольников** в каждом кадре, время рендеринга кадра, FPS, загрузку CPU/GPU, использование памяти и др. Поддерживается также мониторинг дисковой и сетевой статистики, а через API можно добавлять собственные метрики.
**Рендер-пайплайны:** Совместим со всеми основными режимами рендеринга – Built-in, URP, HDRP.
**Версии Unity:** Поддерживаются актуальные версии (Unity 2021.3 LTS и выше, вплоть до Unity 2025).
**Цена:** Коммерческий ассет, стоимость порядка **€6** на Asset Store (на март 2025).
**Производительность:** Инструмент разработан с расчётом на **низкий оверхед** – интегрируется добавлением prefab в сцену и предназначен для постоянной работы даже на мобильных устройствах. Вывод статистики реализован эффективно (через новое API ProfilerRecorder), чтобы минимизировать влияние на игру.