Version: 5.4
Advanced Development
Окно Profiler

The Profiler Window

Профайлер Unity помогает вам оптимизировать вашу игру. Он сообщает вам о том, как много времени тратится в различных областях вашей игры. Например, он может сообщить процент времени, потраченный на рендеринг, анимацию или внутриигровую логику.

Вы можете играть в вашу игру в редакторе с включенным профайлером и он будет записывать данные о производительности. Записанные данные отображаются на временной шкале в окне профайлера, позволяя вам обнаружить зашкаливающие (занимающие больше времени) по сравнению с другими кадры или области. Кликнув по любому кадру на временной шкале, вы его выделите и увидите в нижней части окна Profiler подробную информацию для этого кадра.

Учтите, что профайлинг должен инструментировать ваш код (то есть, внедрять в код набор инструкций для измерения производительности). Эта инструментация немного влияет на производительность игры. Обычно издержки не достаточно велики, чтобы повлиять на частоту кадров игры. При профайлинге обычно имеет значение только пропорциональность (в процентном соотношении) времени, потраченного в определенных областях. Для улучшения производительности сконцентрируйтесь на тех участках игры, что требуют больше всего времени. Сравните результаты профайлинга до и после изменений в коде, чтобы выяснить насколько изменения были эффективны. Иногда сделанный вам изменения для увеличения производительности могут иметь обратный эффект, снижая частоту кадров; будьте готовы к неожиданным результатам оптимизации.

Details of the Profiler window are described in the next page.

См. также

iOS

Следуйте этим шагам для включения удалённого профайлинга на устройствах iOS:

  1. Подключите iOS устройство к вашей сети WiFi (профайлер использует локальную/adhoc WiFi сеть для отправки данных редактору Unity с устройства).
  2. Отметьте флажок “Autoconnect Profiler” (автоматическое соединение в профайлером) в диалоговом окне редактора Build Settings.
  3. Отметьте флажок “Development Build” в диалоговом окне Build Settings и нажмите “Build & Run”.
  4. Когда приложение запустится на устройстве, откройте окно профайлера в редакторе Unity (Window->Profiler).

Если вы используете брандмауэр, убедитесь, что порты с 54998 по 55511 открыты в исходящих правилах - это порты, используемые Unity для удалённого профайлинга.

Важно: Иногда редактор Unity может не подключиться автоматически к устройству. В таких случаях подключение может быть установлено с помощью выбора соответствующего устройства из выпадающего меню Active Profiler в окне профайлера.

Android

Существует два способа включения удалённого профайлинга на устройствах с Android: WiFi или ADB.

Следуйте этим шагам для профайлинга через WiFi:

  1. Удостоверьтесь, что на вашем Andoid устройстве отключены мобильные данные.
  2. Подключите Android устройство к вашей WiFi сети.
  3. Отметьте флажок “Development Build” в диалоговом окне Build Settings и нажмите “Build & Run”.
  4. Когда приложение запустится на устройстве, откройте окно профайлера в редакторе Unity (Window->Profiler).
  5. If the Unity Editor fails to autoconnect to the device, select the appropriate device from the Profiler Window Active Profiler drop down menu. Note: The Android device and host computer (running the Unity Editor) must both be on the same subnet for the device detection to work.

Следуйте этим шагам для ADB профайлинга:

  • Подключите устройство к Mac/PC с помощью кабеля и убедитесь, что ADB распознал ваше устройство (т.е. оно появилось в списке устройств adb).
  • Отметьте флажок “Development Build” в диалоговом окне Build Settings и нажмите “Build & Run”.
  • Когда приложение запустится на устройстве, откройте окно профайлера в редакторе Unity (Window->Profiler).
  • Select the AndroidProfiler(ADB@127.0.0.1:54999) from the Profiler Window Active Profiler drop down menu. Note: The Unity editor will automatically create an adb tunnel for your application when you press “Build & Run”. If you want to profile another application or you restart the adb server you have to setup this tunnel manually. To do this, open a Terminal window / CMD prompt and enter:
adb forward tcp:54999 localabstract:Unity-{insert bundle identifier here}

Важно: Указанный выше пункт выпадающего меню виден только если в качестве целевой платформы выбран Andoid.

Если вы используете брандмауэр, убедитесь, что порты с 54998 по 55511 открыты в исходящих правилах - это порты, используемые Unity для удалённого профайлинга.

WebGL

You can use the Unity profiler on WebGL, just like on any other platform. One important distinction is that you cannot attach to running players in WebGL, though, as WebGL uses WebSockets for communication, which will not allow incoming connections on the browser side. Instead, you need to use the “Autoconnect profiler” checkbox in the build settings. Note also that draw calls cannot currently be profiled for WebGL.

Advanced Development
Окно Profiler