8 800 500-99-26 Для звонков по России
12 лет спустя появилось объяснение, как именно Denuvo снижает производительность
12 лет спустя появилось объяснение, как именно Denuvo снижает производительность
Олег Олегович Олег Олегович
Новости

12 лет спустя появилось объяснение, как именно Denuvo снижает производительность

2 мин
Подписаться в Telegram

Содержание

  1. Краткое содержание
  2. Denuvo «под капотом» по-простому
  3. Denuvo «под капотом» по-умному
  4. Рекомендации

Ищете идеальный компьютер?

Мы поможем подобрать ПК под игры, работу или учебу.

Игры с системой защиты Denuvo снижают FPS — неоспоримый факт, хотя сами разработчики это отрицают. Что правда, спустя почти три года внятных доказательств так и не предоставили. Факт неоспоримый, но как именно это происходит, и где в системе образуется «бутылочное горлышко», до сих пор не было известно широкой общественности.

Теперь блогер Натан Бэггс проанализировал работу системы защиты. Его выводы подтвердил программист Валентин Игнатьев. Ну а мы кратко рассказываем, что к чему.

Краткое содержание

  • Анализ Denuvo показывает, как и почему эта программа влияет на производительность в играх;
  • Игры работают хуже из-за того, что большая часть кэша процессора и оптимизаций не используются;
  • Также проверки синхронизации, идентификация по «отпечатку» системы и проверки целостности создают дополнительную нагрузку на процессор.

Denuvo «под капотом» по-простому

Корень проблемы — запуск игры из-под виртуальной машины, а не «наживую», что приводит к куче лишних операций. Это на корню убивает оптимизацию от разработчиков, от производителей процессоров (кэши L2 и L3 становятся практически бесполезны). Процессор вынужден часто обновлять кэши и чаще обращаться к оперативной памяти, скорость которой гораздо меньше.

Denuvo снижает FPS
Denuvo снижает FPS

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

Denuvo «под капотом» по-умному

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

Denuvo снижает FPS

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

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

Чем слабее процессор, тем сильнее ощущается эффект Denuvo. Многоядерные чипы с высокой частотой подтверждены проблеме меньше, потому что имеют много грубой вычислительной мощности. Процессоры попроще сильнее зависят от оптимизации и алгоритмов предсказания. И да, в отношении Denuvo видеокарта «не роляет».

К сожалению, особенно не повезло владельцам процессоров AMD Ryzen X3D. Denuvo практически убивает кэш, а Ryzen X3D от него сильно зависят.

Не пропусти главное в мире ПК

Мы публикуем последние новости из компьютерного мира. Подписывайся, чтобы быть в курсе и ничего не пропустить.

Подписаться 142к
9.1К

Так же будет интересно почитать

Сайт использует cookies
Узнать подробнее