Intel PresentMon 2.5.0 получил новую архитектуру и расширенную телеметрию GPU/CPU

196 комментарии
Вышел Intel PresentMon 2.5.0 – бесплатный инструмент с открытым исходным кодом для анализа FPS, задержек и телеметрии GPU/CPU в играх. Обновление приносит переработанную архитектуру, новый IPC, поддержку нескольких устройств и независимую телеметрию, повышая точность измерений и стабильность работы

Intel PresentMon 2.5.0 – это бесплатное программное обеспечение с открытым исходным кодом для мониторинга производительности игр и сбора телеметрии GPU и CPU. Утилита предназначена для анализа времени кадра, задержек и поведения графической подсистемы, позволяя получать детальные данные о работе системы в реальном времени.

Инструмент использует механизм трассировки событий Windows (ETW), благодаря чему обеспечивает высокую точность измерений без внедрения в процесс игры и без влияния на производительность. PresentMon широко применяется разработчиками, тестировщиками и энтузиастами для диагностики узких мест, анализа FPS и оценки стабильности рендеринга в играх и графических приложениях.

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

Скачать Intel PresentMon 2.5.0

Что нового в Intel PresentMon 2.5.0

Ключевым изменением стала масштабная переработка middleware-слоя и механизма межпроцессного взаимодействия (IPC). Архитектура была фактически переписана: введён единый вычислительный модуль метрик, обновлён механизм запросов и улучшена передача данных между компонентами. Это позволило устранить ряд ошибок расчётов, повысить стабильность работы и обеспечить единое поведение API, консольного инструмента и динамических запросов.

Дополнительно реализована поддержка работы сразу с несколькими устройствами и введена независимая телеметрия, которая больше не привязана к конкретному приложению или частоте кадров. Также улучшено управление ETW-сессиями, что повысило стабильность сбора данных и позволило обходить ограничения некоторых античит-систем. В результате обновление значительно расширяет возможности анализа производительности и повышает точность получаемых метрик.

  • Переработка middleware и IPC – внедрён единый модуль расчёта метрик (Unified Metrics Calculator), полностью переписан механизм запросов (Query Framework) и реализована новая система IPC с разделением телеметрии и данных кадров.
  • Поддержка нескольких устройств – добавлена возможность одновременного анализа метрик различных GPU и системных компонентов в рамках одного запроса.
  • Независимая телеметрия – сбор данных возможен без привязки к процессу (PID = 0), а частота телеметрии больше не зависит от FPS.
  • Улучшенное управление ETW-сессиями – переработан жизненный цикл провайдеров, снижены состояния гонки и реализован обход ограничений античит-систем.
  • Повышение производительности – телеметрия опрашивается только при наличии активных клиентов, что снижает нагрузку на систему.
  • Расширенные возможности диагностики – добавлено асинхронное логирование, улучшены отчёты об ошибках, внедрено подробное отслеживание задержек ETW и обработки кадров.

Остальные изменения

  • Метрики и расчёты:
    • Переработан расчёт статистики динамических запросов.
    • Улучшено отслеживание ошибок анимации и источников их возникновения.
  • ETW и стабильность:
    • Разделён запуск ETW-сессии и активация провайдеров.
    • Улучшено управление включением и отключением ETW-провайдеров.
    • Обеспечена корректная остановка потоков данных (data quiescing).
  • Производительность и логирование:
    • Внедрено асинхронное логирование с повышенной производительностью.
    • Добавлено ограничение частоты логов (throttling).
    • Расширены диагностические параметры и возможности CLI.
    • Добавлена запись логов при сбоях.
    • Реализовано подробное логирование задержек ETW и обработки кадров.
  • API и интеграция:
    • Добавлена поддержка нескольких адаптеров в одном запросе.
    • Реализована возможность выполнения запросов без указания процесса (PID = 0).
    • Ужесточена валидация запросов.
    • Добавлена подробная диагностика ошибок API (PresentMonDiagnostics.h).
    • CPU-метрики перенесены в устройство System (ID=65536).
  • Исправления ошибок:
    • Исправлены проблемы с определением путей шейдеров.
    • Устранены проблемы многопоточности в механизме регулирования потока данных (backpressure), что повысило стабильность и исключило ошибки при высокой нагрузке.
    • Исправлены расчёты времени занятости и ожидания CPU.
    • Исправлена ошибка при комбинировании процентилей и «сырых» метрик.
    • Исправлен алгоритм расчёта процентилей.
    • Исправлено определение адаптеров Intel и отчёты о памяти.
  • Зависимости и инфраструктура:
    • Scriban обновлён до версии 6.6.
    • CSVHelper обновлён до актуальной версии.
    • Обновлена библиотека Intel Graphics Control Library (IGCL).
    • Улучшена очистка AppData при установке и удалении.

Подробности об изменениях опубликованы в официальном репозитории проекта PresentMon на GitHub.

Автор:
Комментарии и отзывы

Нашли ошибку?

Новое на сайте