Улучшенный профайлер производительности в MSI Afterburner
Алексей Николайчук о появлении нового улучшенного профайлера производительности в свежей бета-версии MSI AB.
Алексей провел мозговой штурм с пользователями утилиты после появления улучшенного профайлера производительности. Как результат — в новой панели профайлера производительности теперь вместо одного самого медленного сенсора отображается динамически сортируемая диаграмма времён опроса каждого из сенсоров, позволяющая ещё легче и быстрее выявлять главных «пожирателей» процессорного времени при опросе железа на каждой системе.
Unwinder считает, что данный функционал будет очень востребован с учётом прошлогоднего тренда разработки. Как говорит автор, появление в недавнем времени сразу нескольких однотипных программных продуктов, нацеленных на мониторинг системы, породило и появление похожих обзоров, пытающихся сравнивать их с точки зрения влияния на производительность системы. Сделать это незнакомым с внутренностями ПК обозревателям затруднительно хотя бы потому, что каждый вендор не стесняется объявить своё программное решение самым минимально влияющим на игровую производительность из всех конкурирующих.
Ирония в том, что такая маркетинговая лапша остаётся висеть на ушах геймеров, не понимающих, что на самом деле урон игровой производительности в ПО мониторинга практически не зависит от интерфейса ПО и его форм визуализации данных. Главный тормоз системы в ПО такого класса — опрос железа (почти всегда в режиме ядра), поэтому влияние на производительность практически стопроцентно зависит исключительно от набора опрашиваемых аппаратных датчиков и от частоты их опроса. Даже не столько от их количества, сколько от их качества (т. е. от типа датчиков, и от протоколов доступа к ним). Например, внутренние счётчики производительности частоты ядра графического процессора — это почти всегда внутренние PLL регистры, доступ к которым выполняется через MMIO механизм мгновенно, в десятые доли миллисекунды. А счётчики того же энергопотребления GPU — почти всегда внешние чипы на видеоадаптере (часто даже несколько чипов сразу), доступ к которым производится по гораздо более медленной I2C шине. Время опроса таких сенсоров может отличаться уже на порядок и измеряться несколькими миллисекундами. Протоколы доступа к SMART-аттрибутам жёстких дисков, хранящим температуры, обычно ещё боле медленные, и их опрос может занимать уже десятки (а то и сотни, для не слишком удачных аппаратных реализаций) миллисекунд. От набора сенсоров, включенных одновременно в ПО мониторинга, и будет зависеть то, насколько сильно влияет процесс мониторинга на производительность системы.
В RivaTuner, а потом и в EVGA Precision и MSI Afterburner для правильной в этом плане настройки модуля мониторинга давно существовал профайлер производительности (включается через контекстное меню окна мониторинга по команде <Показать статус>). Старый классический профайлер позволял оценить лишь общее время процессора, затрачиваемое на опрос всех включенных сенсоров, и увидеть, как отключение того или иного сенсора влияет на общее время опроса. Обновлённый же профайлер упростит и процесс выявления и отключения самых медленных из включенных сенсоров. С ростом числа одновременно активированных сенсоров (с учётом появления плагинов в MSI AB их среднее число приближается к сотне) это становится очень актуальным. Например, на скриншоте выше мониторинг системы с тремя активными GPU (2xSLI + встроенный iGPU). Время опроса 80 сенсоров на этой системе составляет 67 миллисекунд, то есть при опросе этих сенсоров с периодом 1000 миллисекунд на опрос тратится около 7 процентов процессорного времени одного ядра. При этом на диаграмме профайлера видно, что треть этого времени тратится на опрос пары сенсоров энергопотребления графических процессоров. Их и можно отключить, если при игре со включенным мониторингом наблюдаются нежелательные побочные эффекты в виде рывков.
Как говорится — мало с умом выбрать средство диагностики, необходимо еще и уметь хотя бы минимально его настроить под свои нужды.