39,8K подписчиков

Как современные игры унижают процессор ПК

283 прочитали

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

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.

Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение. А если не поможет — заменить видеокарту. Ведь все знают, что наши любимые развлечения в первую очередь задействуют именно GPU, а CPU всегда можно покупать на сдачу, он не так важен. Такое мнение бытовало еще лет 5-10 назад — и встречается до сих пор.

Но времена меняются. Современные видеокарты существенно обогнали возможности актуальных процессоров, и последние все чаще оказываются «бутылочным горлышком». Они просто не могут подготовить достаточно информации для обработки видеоускорителем.

Новейший AMD Ryzen 7 7800X3D порой не в состоянии преодолеть отметку в 60 кадров в секунду, даже если работающая с ним в паре RTX 4090 готова обеспечить вдвое больше. Давайте разбираться, почему так происходит.

Прогресс замедлился

Фотография: Digital Foundry
Фотография: Digital Foundry

Intel выпустила свой первый двухъядерный процессор в 2005 году. Уже через год — первый четырехъядерный. Восьмиядерный пришлось ждать до 2014-го. Будучи почти безоговорочным лидером рынка, Intel планировала поднимать производительность новых моделей повышением тактовой частоты, а не увеличением количества ядер и многопоточностью.

К 2011 году компания собиралась выпустить процессор с частотой в 11 ГГц. Но столкнулась с проблемой чрезмерно высокого нагрева — пришлось искать альтернативные пути повышения вычислительной мощности. Увеличение числа ядер требовало вложений и нового подхода к программированию, на что Intel не решалась. Вместо этого она начала поднимать IPC — количество простейших задач, которое процессор может исполнять за 1 такт.

Менять подход было незачем — на рынке практически не было конкуренции. AMD находилась в технологическом тупике из-за очень слабой архитектуры Bulldozer. Которая, в свою очередь, лежала в основе Xbox One и PlayStation 4, из-за чего игры восьмого поколения также не предъявляли особых требований к CPU и никак не мотивировали компании развивать процессоры в новых направлениях.

Ситуация изменилась с выходом удачной архитектуры AMD Zen. Она и на рынке персональных компьютеров впервые за долгие годы навязала конкуренцию Intel Core, и в новые консоли добавила целых 8 физических ядер и 16 вычислительных потоков, мотивируя разработчиков менять подход к разработке игр. Новый виток противостояния двух гигантов стремительно повысил требования к центральным процессорам.

Процессоры в большом открытом мире

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-3

В 2010-х большую популярность обрели игры с открытым миром. Сложная архитектура городов и большое количество NPC и интерактивных объектов значительно подняли требования к центральному процессору. Расчет реакции окружения на действия игрока, маршрутов и анимации серьезно нагружают CPU. Особенно если приходится это делать для сотен персонажей.

При хорошей оптимизации движок игры умеет моментально удалять из памяти и очереди вычислений процессора и видеокарты любой объект вне поля зрения игровой камеры. Некоторые игры — например, Hitman 3 — делают это особенно эффективно и без проблем работают даже на сравнительно слабых ПК и консолях. Но если включить трассировку лучей, производительность упадет в несколько раз.

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-4

Нагрузка возрастает не только на видеокарту, но и на процессор — для достоверного расчета отражений CPU вынужден рассчитывать положение и анимации даже тех объектов, которые находятся за границей кадра. При обычной растеризации этого не требуется.

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

От будущего не убежишь

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-5

В 2017 году AMD наконец смогла навязать Intel конкуренцию, выпустив первые процессоры на уже упомянутой в начале архитектуре Zen. Она оказалась настолько успешной, что не только потеснила «синие» CPU на рынке игровых компьютеров, но и стала основой Xbox Series и PS5.

Разработчики больше не обязаны оптимизировать игры под совсем слабые процессоры старых консолей и могут задействовать в своих проектах все 8 ядер и 16 потоков. Следовательно, выросли требования и ПК-версий современных хитов. Это хорошо демонстрирует Baldur’s Gate 3, которая при отображении крупного города с большим числом NPC и интерактивных объектов серьезно напрягает CPU.

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-6

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

Кроме того, новые консоли также активно используют трассировку лучей, и она появляется во всем большем количестве игр. Помимо того, что она заставляет процессоры считать объекты за пределами кадра, RT-эффекты также требуют создания BVH-структуры, необходимой для ускорения трассировки. Схожим образом работают и системы глобального освещения вроде Lumen в Unreal Engine 5, которая также активно внедряется в новые проекты.

Бич современных игровых движков

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-7

Краткосрочные притормаживания — «статтеры» (от англ. Stutter — «заикание») — огромная проблема всех современных движков. Особенно страдают игры на Unreal Engine 4 и 5. Основных причин появления статтеров две — подгрузка новых данных с диска и компиляция шейдеров.

Современные графические интерфейсы вроде DirectX 12 и Vulkan требуют универсальных и стандартизированных шейдеров (микропрограммы, исполняемые видеокартой). Когда движку необходимо отрендерить новый эффект, он собирает нужный шейдер из готовых компонентов и заставляет процессор немедленно скомпилировать его под конкретную видеокарту. В этот момент игра останавливается в ожидании, пока CPU завершит процесс.

Это приводит к краткосрочным подвисаниям каждый раз, когда вводится новый эффект. Обычно разработчики «учат» игру заранее компилировать все необходимые шейдеры во время загрузок или в главном меню. Но часто из-за недостаточного тестирования и оптимизации не все шейдеры попадают в предварительную компиляцию, и в итоге статтеры все равно появляются каждый раз вместе с новым эффектом или действием на экране.

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-8

Современный мощный процессор на актуальной архитектуре и с достаточным количеством вычислительных потоков может минимизировать такие задержки. Новые версии UE5 частично решают проблему за счет асинхронной компиляции — игра пропускает эффект при первом его появлении и отображает только тогда, когда шейдер будет готов. Но по возможности лучше все-таки обновить CPU и получать все красоты точно в срок.

Статтеры из-за подгрузки данных никакой компиляцией не удаляются и встречаются при каждом перезапуске игры или даже отдельного уровня. Игра постоянно сбрасывает из памяти старые данные локации и одновременно загружает новые. Если система не позволяет делать это достаточно быстро, подвисания становятся хорошо заметны. Проблему, опять же, частично решают современные процессоры в связке со скоростными SSD.

На консолях такой тип притормаживания встречается реже. В приставках оперативная и видеопамять общие, и разархивирование текстур, моделей и прочих файлов проходит с аппаратным ускорением. На Windows 11 уже есть аналог такой технологии — DirectStorage и ее частная версия RTX IO. Но они пока очень редко встречаются в играх.

Какой процессор купить?

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-9

На практике все игры разные, все процессоры разные, и оптимизируют разработчики свои проекты тоже по-разному. Чтобы продемонстрировать это наглядно, мы собрали график с ограничениями по фреймрейту, которые зависят от процессора.

Каждый кадр готовится, загружается в память и рендерится какое-то время, обычно измеряемое в миллисекундах — 1/1000 секунды. Это время — frametime — определяют, разделив 1000 мс на количество кадров. Для 60 FPS фреймтайм составит 1000/60=16,7 мс. Для 30 FPS — 33,3 мс. Но в реальных условиях каждый кадр демонстрируется разное время, и в 60 FPS на несколько очень «быстрых» может быть один-два крайне «медленных». Из-за этого перепада также возникают видимые глазу микроподвисания.

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-10

Обычно для демонстрации разницы определяют 1% минимального FPS. Из 100 кадров выбирают 1 самый медленный. Чем выше разница между средним FPS и минимальным, тем сильнее заметны притормаживания на экране. На нашем графике — минимальная частота кадров в разных играх на разных процессорах. Она наглядно демонстрирует превосходство новых процессоров над старыми, особенно в уже упомянутой Baldur's Gate 3.

Даже если в системных требованиях игры в Steam указан некий Core i7 без уточнения модели, это не значит, что игра легко пойдет на старых процессорах этой же линейки. Как следует из графика, некогда флагманский и крайне популярный в 2014 году Core i7-4790K может просаживать частоту кадров ниже 40 в секунду. А Star Wars Jedi: Survivor во время компиляции шейдеров вообще превращается в слайд-шоу.

В итоге, лучше всего для современных игр подходят флагманские процессоры, выпущенные в 2021 году и после. У Intel это i7 и i9, начиная с моделей 12700 и 12900. А у AMD — геймерская линейка с дополнительной кэш-памятью 3D V-Cache. Это Ryzen 7 5800X3D и Ryzen 7 7800X3D. При этом формально более мощный процессор Ryzen 9 7950X3D в играх показывает производительность немного ниже, чем Ryzen 7 7800X3D. Тратиться на самое топовое железо есть смысл только для решения профессиональных задач.

Примеры хороших игровых процессоров:

  • Ryzen 7 7800X3D (2023) — 8/ 16, 96 Мб L3 — 42 500 рублей
  • Ryzen 7 5800X3D (2022) — 8/16, 96 Мб L3 — 42 000 рублей
  • Core i9-12700K (2021) — 12/20, 25 Мб L3 — 27 000 рублей
  • Core i9-12900K (2021) — 16/24, 30 Мб L3 — 40 000 рублей
  • Core i7-13700K (2022) — 16/24, 30 Мб L3 — 37 000 рублей
  • Core i9-13900K (2022) — 24/32, 36 Мб L3 — 54 000 рублей

Но мы не настаиваем на покупке именно самых топовых процессоров. Куда важнее будет архитектура — даже в среднем ценовом сегменте. Однако флагманы отлично демонстрируют, что даже лучшие и самые дорогие геймерские CPU имеют свой срок годности и должны вовремя обновляться.

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

Можно ли играть в новинки на старых CPU, и как разработчики задействуют железо компьютеров Если игра тормозит — нужно снизить настройки графики. Выключить тени, выставить другое разрешение.-11

NVIDIA и AMD пытаются решить эту проблему отставания CPU от GPU при помощи генерации кадров в DLSS 3.0 и FSR 3 — решение рабочее, но не слишком элегантное и чреватое ухудшением картинки и задержками ввода. Смогут ли производители процессоров изменить ситуацию и позволить нам отказаться от этих костылей — узнаем уже осенью, когда выйдут новые Intel Core и Ryzen.