Профилирование

Узнайте, как включить и использовать встроенный профилировщик Tracy для измерения производительности плагинов и языковых модулей.

S2-Launcher включает встроенный интерфейс профилировщика на базе библиотеки Tracy для C++. При включении он предоставляет данные о производительности в реальном времени для большинства языковых модулей и поддерживаемых плагинов. Профилирование предназначено для разработчиков и отладки — по умолчанию оно отключено и должно включаться только при необходимости.

Включение профилировщика

Для включения профилирования передайте флаг --profiler при запуске игры через S2-Launcher:

На Windows:

s2launcher.exe --profiler

На Linux:

./s2launcher --profiler

В сочетании с другими аргументами:

s2launcher.exe -dedicated -console +map de_dust2 --profiler

После передачи флага профилировщик автоматически активируется в поддерживаемых языковых модулях и плагинах при запуске.

Подключение Tracy

Tracy использует отдельное приложение-просмотрщик для сбора и отображения данных профилирования из запущенной игры.

Загрузите Tracy

Скачайте последний релиз со страницы Tracy GitHub Releases. Найдите архив Tracy-<version>.7z и распакуйте его.

Запустите Tracy

Откройте Tracy.exe из распакованной папки. Tracy отобразит список активных сессий профилирования — с именем s2launcher — доступных для подключения.

Подключитесь к сессии

Дважды щёлкните по своей сессии в списке для подключения. Tracy начнёт собирать данные профилирования из запущенной игры в режиме реального времени.

Что можно измерить

С включённым профилировщиком Tracy захватывает следующие данные о производительности:

  • Тайминги кадров в игровом цикле
  • Длительность вызовов функций плагинов — точное время выполнения хуков и коллбэков каждого плагина
  • Накладные расходы языковых модулей — стоимость межъязыковых вызовов (C#, Python, JavaScript и др.)
  • Пользовательские зоны, определённые плагинами с встроенной инструментацией Tracy

Рекомендации

  • Включайте только при необходимости. Профилировщик добавляет нагрузку на игровой процесс. Использование во время обычной игры или на рабочем сервере не рекомендуется.
  • Используйте руководство Tracy для детального изучения интерпретации трассировок, настройки пользовательской инструментации и анализа узких мест. Руководство включено в дистрибутив Tracy в виде файла Tracy.pdf.
  • Запускайте в изоляции. Для наиболее точных измерений профилируйте при минимальном количестве других запущенных процессов на машине.

Устранение неполадок

  1. В Tracy не отображаются сессии:
    • Убедитесь, что флаг --profiler был передан лаунчеру и игра успешно запустилась.
    • Убедитесь, что Tracy и игра находятся на одной машине или в одной локальной сети (Tracy подключается по TCP).
    • Проверьте, не блокирует ли файрвол стандартный порт Tracy (8086).
  2. Профилировщик активен, но данные плагинов отсутствуют:
    • Данные передают только те языковые модули и плагины, в которых встроена инструментация Tracy. Сторонние библиотеки без поддержки Tracy отображаться не будут.
  3. Производительность игры снижается при включённом профилировщике:
    • Это ожидаемое поведение. Инструментация Tracy имеет измеримую стоимость. Отключайте флаг --profiler при обычном использовании.