Озвучено техническое объяснение давней проблемы — снижения производительности в играх, использующих популярную систему защиты Denuvo. Анализ механизмов работы технологии показывает, как именно она взаимодействует с аппаратными ресурсами компьютера и из-за чего именно происходит падение производительности.
Специалисты обратили внимание на принцип работы Denuvo, который использует виртуальную среду для выполнения части игрового кода. Этот подход, предназначенный для защиты от несанкционированного доступа, создаёт дополнительный уровень обработки инструкций. Вместо прямого выполнения процессором, код сначала транслируется внутри виртуальной машины, что требует дополнительных вычислительных операций.
Ключевой находкой стало наблюдение за влиянием Denuvo на кэш-память процессора. Механизмы Denuvo, включающие обфускацию кода и добавление служебных инструкций, нарушают предсказуемость доступа к данным, что приводит к частому очищению кэша и необходимости обращаться к более медленной оперативной памяти, что создаёт задержки в обработке кадров.
Дополнительная нагрузка возникает из-за взаимодействия с системой предсказания переходов процессора, которая заранее подготавливает инструкции для выполнения, основываясь на вероятности определённых ветвлений кода. Защитные алгоритмы Denuvo, добавляющие ложные переходы и изменяющие последовательность инструкций, снижают эффективность предсказаний, заставляя процессор тратить время на исправление ошибок прогнозирования. Технология защиты изменяет оптимизированный разработчиками порядок выполнения команд, что особенно заметно в ресурсоёмких сценах.
Представители игрового сообщества давно отмечают корреляцию между наличием Denuvo в играх и снижением производительности, особенно на компьютерах средней мощности. Новые данные предлагают конкретное техническое объяснение этому явлению, связывая его с особенностями работы современных процессоров. На момент публикации материала разработчики технологии Denuvo не прокомментировали выводы исследователей.
Arkadiy Andrienko



