Разработчик Meta✴ представил серию патчей для ядра Linux, которые могут заметно повысить производительность игровых устройств на базе AMD APU. Согласно данным, на Steam Deck минимальная частота кадров в одном из бенчмарков выросла почти на 32 %.
Источник изображения: Valve
Автор патчей Давид Верне (David Vernet), занимающийся разработкой ядра Linux, предложил новый режим работы для драйвера amd-pstate, отвечающего за питание и управление тактовой частотой процессоров AMD. В основе механизма, как стало известно изданию TechSpot, лежит технология Energy Performance Preference (EPP), позволяющая выбирать между максимальной производительностью и экономией энергии.
Стандартный активный режим EPP не всегда эффективно справляется с игровыми нагрузками, где основной поток регулярно прерывается на короткие промежутки времени. Для решения этой проблемы, как объясняет разработчик, был добавлен механизм per-core EPP boost. После его активации модуль epp_boost анализирует загрузку каждого процессорного ядра каждые 10 миллисекунд. Если ядро оказывается загружено не менее чем на 50 %, его режим EPP автоматически переключается в профиль performance (профиль производительности). После 300 миллисекунд без повторной высокой нагрузки драйвер возвращает прежние настройки энергопотребления.
Эффективность нового механизма Верне протестировал на Steam Deck в игре Civilization VI, выбранной из-за высокой зависимости от производительности одного процессорного потока и наличия встроенного воспроизводимого бенчмарка. По опубликованным результатам минимальная частота кадров на уровне 1 % low увеличилась на 31,8 %, показатель времени отрисовки кадра в P99 (99-й персентиль задержки) улучшился на 4,1 %, тогда как средний FPS остался практически без изменений. По мнению разработчика, аналогичный подход потенциально сможет принести пользу и другим игровым устройствам на SteamOS или Linux с процессорами AMD APU.