Что делает движок, когда вы меняете настройки графики? Часть 2

Полный разбор настроек графики с Валерием Линьковым

Что делает движок, когда вы меняете настройки графики? Часть 2

В первой части мы разобрали весь путь обычного прыжка внутри игрового движка: как нажатие проходит через устройство, операционную систему и очередь ввода, почему логика может не разрешить действие, как физика рассчитывает импульс и столкновение с землёй, анимация смешивает состояния, а рендер и звук собирают результат для игрока. Заодно разобрались, чем FPS отличается от tick rate, зачем физике fixed timestep и почему даже многоядерный процессор не гарантирует стабильную производительность.

Теперь посмотрим на эту же систему со стороны игрока: какие настройки нагружают GPU, CPU и видеопамять, что действительно повышает FPS и почему бездумное снижение всех ползунков только портит картинку.

Привет, Код. Меня зовут Валерий Линьков. Я проектирую облачную инфраструктуру и системы безопасности. Также, я являюсь основателем Монтировки — независимой студии разработки игр. Мой архитектурный подход к работе помогает проектировать игры на движке Unity так, чтобы игра была максимально технологически целостна.

Базовые настройки

Разрешение (Resolution)

Определяет, сколько пикселей видеокарта должна обработать для каждого кадра. Больше пикселей — выше нагрузка, ниже производительность. Меньше пикселей — ниже нагрузка, выше FPS.

Влияние:

🟥 GPU (процессор видеокарты) — основная нагрузка
🟨 VRAM (оперативная память видеокарты) — увеличивается из-за буферов и текстур

Как это ощущается:

  • выше разрешение, значит изображение становится чётче;
  • ниже разрешение, значит появляется размытие, но растёт FPS.

Факт:

  • 2560×1440 примерно в 1,7 раза больше нагрузки, чем 1920×1080
  • 3840×2160 (4K) примерно в 4 раза больше

Это линейная зависимость от количества пикселей.

Масштаб рендера (Render Scale)

Позволяет рендерить изображение во внутреннем разрешении, отличном от нативного. Например, при 80% сцена сначала считается в меньшем разрешении, затем масштабируется до размера экрана.

Влияние:

🟥 GPU — напрямую зависит от масштаба

Как это ощущается:

  • 90–100% скейлинг означает почти нативное качество
  • 80–90% скейлинг влечёт небольшая потеря резкости, заметный прирост FPS скейлинг ниже 70% череват выраженное размытие

Практическое значение: один из самых эффективных способов увеличить производительность без серьёзной потери качества.

Режим экрана (Fullscreen / Borderless)

Определяет способ взаимодействия игры с операционной системой.

Fullscreen (полноэкранный):

  • прямой доступ к выводу изображения
  • потенциально ниже задержка

Borderless (безрамочный):

  • работает как оконное приложение
  • удобнее при переключении задач

Влияние:

🟨 input lag (лаг при вводе команды) — может отличаться
🟨 стабильность FPS — зависит от драйверов и системы

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

Тут я немного хочу “погундеть” про разрешения.

Что делает движок, когда вы меняете настройки графики? Часть 2

Мы в Монтировке базируемся на разрешении 1920 на 1080. Иначе говоря, на FullHD. Почему? Простой ответ — статистика! По данным Steam на апрель 2026 года мониторы с разрешением FullHD используют более половины геймеров (52,21%). В то время как 4k есть лишь у 21,41%.

Конечно, максималисты ответят мне, что имеет смысл делать чем больше, тем лучше, но давайте вернёмся к прагматичности. Если вы делаете инди-игру и у вас ограниченный бюджет и сроки, у вас нет фантастической проработки визуала и нет команды из хотя бы 10-15 художников — вам более чем хватит разрешения FullHD. Все игроки на 4k мониторах просто запустят вашу игру в FullHD и скорее всего не будут страдать по этому поводу.

Геометрия и сцена

Качество моделей (Geometry / Mesh Quality)

Что делает: определяет сложность геометрии объектов — количество полигонов, из которых они состоят. Чем выше значение тем более детализированы формы (скругления, мелкие элементы) и тем больше вершин и треугольников обрабатывается.

Влияние:

  • GPU — обработка вершин и растеризация
  • CPU (процессор) — подготовка геометрии и отправка draw calls

Как это ощущается:

  • разница заметна вблизи объектов
  • на дистанции почти не видна

На практике большинство игр используют LOD (Level of Development). Поэтому высокая настройка влияет ограниченно, особенно в динамичных сценах и часто это не главный источник потери FPS.

Дальность прорисовки (Draw Distance / View Distance)

Что делает:

Определяет, на каком расстоянии от камеры начинают появляться объекты и детали сцены. При увеличении, больше объектов одновременно присутствует в кадре, а значит увеличивается плотность сцены.

Влияние:

🟥 CPU — сильно (обработка объектов, логика, draw calls)
🟥 GPU — сильно (отрисовка большего количества геометрии и эффектов)

Как это ощущается:

  • высокая настройка, значит сцена выглядит “плотной”, без внезапных появлений объектов
  • низкая дальность прорисовки вызывает заметный pop-in (объекты появляются прямо перед игроком)

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

Детализация (Level of Detail / LOD)

Что делает: определяет, как быстро и агрессивно модели упрощаются по мере удаления от камеры. Типичный подход детализирования в играх:

  • когда игрок близко используется полная модель
  • когда игрок отдаляется дальше, он видет упрощённая версия с меньшим количеством полигонов
  • если же игрок ещё дальше, детализация становится очень грубой геометрией или билбордами

Влияние:

🟨 GPU — меньше полигонов при низком LOD
🟨 CPU — меньше draw calls и данных для обработки

Как это ощущается:

  • высокий LOD влияет так, что объекты дольше остаются детализированными
  • низкий LOD влечёт за собой заметные “переключения” качества моделей

Практическое значение. LOD — это баланс между качеством и стабильностью. Cлишком высокий LOD может перегружать систему без значимого визуального выигрыша, а слишком низкий — делает мир визуально “ломающимся” при движении игрока между объектами.

Что делает движок, когда вы меняете настройки графики? Часть 2

Полезный блок со скидкой

Настройки графики проще понимать, когда знаешь, как движок обрабатывает объекты, память и код. В Практикуме нет отдельного курса по геймдеву, но можно подтянуть фундамент: программирование, Python, C++, бэкенд или тестирование.

Для старта держите промокод Практикума на любой платный курс: KOD (можно просто нажать). Его можно просто нажать и применить при покупке — он даст скидку и поможет сэкономить на обучении.

Освещение

Качество освещения (Lighting Quality)

Что делает: определяет сложность моделей освещения:

  • количество источников света
  • точность расчёта освещения на поверхности
  • наличие дополнительных эффектов (рассеивание, мягкость переходов)

Чем выше настройка, тем ближе освещение к физически корректному.

Влияние:

🟥 GPU — основная нагрузка (пиксельные шейдеры)

Как это ощущается:

  • чем выше качество освещение, тем более естественные переходы света и тени
  • чем освещение ниже, тем оно выглядит более плоским и упрощённым

Глобальное освещение (Global Illumination)

Что делает:

Добавляет отражённый свет от поверхностей (bounce light). Например, свет попадает на стену и часть отражается и освещает соседние объекты. Без GI освещены только прямые источники света. Сцена выглядит “пустой” и контрастной. С GI появляется цветовое переотражение и сцена становится визуально связанной.

Влияние:

🟥 GPU — очень высокая нагрузка (особенно при real-time расчётах или ray tracing)

Как это ощущается:

  • появляется глубина освещения
  • исчезают резкие “провалы” в тени

Глобальное освещение — один из самых ресурсоёмких эффектов, поскольку требует либо сложных приближений, либо трассировки лучей.

Тени (Shadows)

Что делает: определяет разрешение теневых карт (shadow maps), дальность отображения теней и точность и мягкость краёв.

Влияние:

🟥 GPU — очень сильно
🟨 CPU — подготовка данных и управление источниками света

Почему это дорого (для железа):

Для расчёта теней сцена фактически рендерится дополнительно сначала с точки зрения источника света (создание shadow map), а затем при основном рендере используется эта информация. При нескольких источниках света количество таких проходов увеличивается

Как это ощущается:

  • высокое значение теней влечёт чёткие, детализированные тени у всех объектов
  • низкие тени становятся размытые или “рваные” по краям, а также возможны артефакты

Контактные тени (Contact Shadows)

Что делает: добавляет мелкие тени в местах контакта объектов у основания предметов, в складках и стыках геометрии. Работает как дополнение к основным теням, улучшая локальные детали.

Влияние:

🟥 GPU — дополнительная нагрузка на пиксельные шейдеры

Как это ощущается:

  • сцена выглядит более “собранной”
  • объекты лучше “привязаны” к поверхности, без них появляется эффект “парения”

Практическое значение: эта настройка визуально заметна вблизи. При ограниченном бюджете производительности может быть отключено без критической потери общей картины

Освещение — это очень сложный процесс. Кажется, что динамический свет — это хорошая и классная вещь, но лично я считаю динамического света должно быть минимально в игре. В Unity есть концепция запекание света (да и не только там).

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

Тут же можно сказать, что статический свет делает проблемы в том, что свет становиться “мёртвым”. Если игрок подвинул лампу, ничего не поменяется и будет очень странно выглядеть. На практике же, мы используем запечённый свет как основной, а динамический свет — как дополнение, чтобы дать игроку возможность двигать лампу. Мы рассчитываем что игрок не будет двигать солнце в игре или как-то менять свет в жёстко настроенных объектах (например, светильник в стене). 

Что делает движок, когда вы меняете настройки графики? Часть 2

Пример взятый нашей студией на вооружение, где запекание и динамический свет на Unity работают очень хорошо: Crime Scene Cleaner. Там, главный герой может достать дополнительную лампу (ультрафиолетовую или обычную) и она подсветит доп места и следы, которые нужно убрать, но при этом основное освещение там запечённое.

Что делает движок, когда вы меняете настройки графики? Часть 2

Текстуры и память

Качество текстур (Texture Quality)

Что делает: определяет разрешение текстур — изображений, которые “натягиваются” на геометрию. Чем выше настройка, тем больше деталей в поверхностях (трещины, надписи, мелкие элементы) и тем больше размер текстурных данных.

Влияние:

🟥 VRAM — основная нагрузка (хранение текстур в памяти видеокарты)
🟨 GPU — умеренно (семплирование текстур)

Как это ощущается:

  • высокое качество текстур добавляет чёткие поверхности при близком рассмотрении
  • низкое качество текстур добавляет “мыло” и потери деталей

Если видеопамяти недостаточно, начинается выгрузка/подгрузка текстур. Появляются фризы и статтеры, а также возможны резкие просадки FPS даже при мощном GPU.

Практика: эту настройку имеет смысл повышать до упора, пока хватает VRAM. При нехватке памяти — нужно снижать эту настройку в первую очередь. 

Фильтрация текстур (Anisotropic Filtering)

Что делает: улучшает качество текстур, находящихся под острым углом к камере. Без фильтрации текстуры вдали и под углом выглядят размытыми. С фильтрацией сохраняется чёткость, особенно на дорогах, полу, поверхностях.

Влияние:

🟩 минимальное влияние на производительность на современных GPU

Как это ощущается:

  • наиболее заметно на плоских поверхностях, уходящих вдаль
  • почти не влияет на объекты прямо перед камерой

Практическое значение: фильтрация — одна из самых “дешёвых” визуальных апгрейдов. В большинстве случаев можно устанавливать x16 без заметной потери FPS.

Текстуры — дешёвая часть для железа пользователя, но не для разработки. Например, на нашем сайте есть 3D-объект Монтировка.

Что делает движок, когда вы меняете настройки графики? Часть 2

Как вы думаете, сколько на этом объекте текстур? Кажется, что объект простой (геометрическая палка с раскраской). Так вот, на монтировке 5 текстур (обычный цвет, текстура нормали объекта, текстура шероховатостей, текстура металлических протёртых частей и текстура фонового затемнения).

То есть, для разработки такого объекта нужно сделать 3D-модель, раскрасить её и создать ещё несколько текстур. При этом, данный объект очень простой и незначительный. А теперь представьте, что у нас есть несколько объектов, 3D-персонажи и прочее. Все эти материалы стоят больших денег для разработчиков, так как любой 3D-объект в хорошем качестве — много энергозатратной работы.

Эффекты

Частицы (Particles / Effects Quality)

Что делает: управляет количеством и сложностью визуальных эффектов:

  • дым
  • огонь
  • искры
  • взрывы
  • обломки и пыль

Каждый эффект — это множество мелких элементов (частиц), которые создаются, обновляются и отрисовываются каждый кадр.

Влияние:

🟥 GPU — отрисовка и шейдеры
🟨 CPU — логика, спавн и поведение частиц

Как это ощущается:

  • высокое значение частиц даёт насыщенные, плотные эффекты
  • низкое значение частиц упрощает эффекты или уменьшает их количество

Хорошая оптимизация (например, агрессивные LOD для частиц, GPU-симуляция) может резко снизить нагрузку без заметной потери качества.

Постобработка (Post-processing)

Это этап после основного рендера сцены. Изображение уже готово, и к нему применяются дополнительные эффекты. Почти всегда работает в экранном пространстве (screen space), а нагрузка в основном ложится на GPU.

Motion Blur

Что делает:

Добавляет размытие при движении камеры или объектов, имитируя работу реальной камеры.

Влияние:

🟨 GPU — дополнительная обработка кадра

Как это ощущается:

  • движение выглядит более плавным
  • может снижать чёткость изображения

На практике часто отключается, так как ухудшает читаемость сцены.

Depth of Field (DoF)

Что делает: размывает объекты вне фокуса (фон или передний план). Имитирует глубину резкости камеры.

Влияние:

🟨 GPU — постобработка

Как это ощущается: Эффект добавляет кинематографичности, но снижает чёткость вне зоны фокуса

Bloom

Что делает:

  • Добавляет свечение вокруг ярких источников света (лампы, солнце, отражения).
  • Создаёт эффект “пересвета”.

Влияние:

🟩 минимальное на современных системах

Как это ощущается: Сцена выглядит ярче и мягче, но при завышенных значениях — может “пересвечивать” изображение

Ambient Occlusion (SSAO / HBAO)

Что делает: добавляет мягкое затемнение в местах, где свет плохо проникает (углы, стыки объектов, контакты с поверхностями). Это не настоящие тени, а их приближение в экранном пространстве.

Влияние:

🟥 GPU — вычисления на уровне пикселей

Как это ощущается: эффект делает сцену более объёмной, но без него изображение выглядит “плоским”.

Отражения (Reflections)

Что делает: отвечает за отображение отражений на поверхностях (вода, стекло, полированные материалы). Методы могут различаться:

  • Screen Space Reflections (SSR) — быстрые, но ограниченные
  • кубические карты (cubemaps) — приближённые
  • трассировка лучей (ray tracing) — наиболее точные и самые дорогие по железу

Влияние:

🟥 GPU — высокая нагрузка, особенно при точных методах

Как это ощущается: отражение повышает реализм сцены. Если настройка низкая, отражения упрощённые или отсутствуют.

Практическое значение: один из заметных визуальных эффектов, но и один из дорогих по производительности.

Любимое место для разработчиков на Unreal Engine. Люди, которые сделали фиговый хоррор и накидывают гличей, VHS-фильтров, эффект “рыбий глаз” и прочей ерунды. Лично у меня возникает вопрос: “Можно, а зачем?”. Игра ничего не приобретает в результате манипуляций.

Когда речь заходит о каких-либо реально необходимых эффектах — вопросов нет. Вон, взять тот же Outlast с механикой камеры. По сути, это такой же эффект в виде фильтра. Выглядит просто. Сначала, персонаж просто идёт, потом игрок нажимает кнопку камер, проигрывается анимация доставания камеры, секунда тёмного экрана, вуаля — камера. Но давайте вспомним, что камера у главного героя была не чем-то внешним и ненужным. Это была механика. Камера имела функцию ночного зрения и через неё было видно то, чего нельзя было увидеть глазом. У камеры кончалась батарейка и мы тыкаясь по углам пытались найти их побольше. Если посмотреть на какой-то объект — ничего не произойдёт, но если добавить камеру, ГГ моментально запишет мысль об увиденном (он ж журналист!). 

Что делает движок, когда вы меняете настройки графики? Часть 2

Ещё пример, и опять хоррор. Амнезия. Возьмём первую часть (The Dark Descent). Главный герой не всегда имеет способы осветить себе путь, но если он находится долго в темноте происходит 2 вещи:

  1. Глаза ГГ начинают привыкать к темноте и игра становиться светлее для игрока, но при этом с синим фильтром
  2. Герой в эти моменты теряет рассудок от страха в темноте, а игрок получает кучу лишних звуков и начинает пугаться сам

Что делает движок, когда вы меняете настройки графики? Часть 2

Я стараюсь донести мысль о том, что наборы эффектов, которые разработчики накидывают друг на друга и снижают производительность у игроков — путь в никуда. Уже сейчас есть мнение, что Unreal Engine мешает развитию игр тем, что даёт “из коробки” все эти эффекты, из-за чего мы имеем игры с пересветами, толпы Backrooms’ов (передаём привет Артуру BlackUfa) и кучу мусорных игр, которые очень сносно выглядят.

Честности ради, скажу что проблема вообще не UE, а в разработчиках, которые неграмотно пользуются инструментом.

Вода, волосы и прочая боль

Вода (Water Quality)

Что делает:

Определяет сложность рендера и симуляции воды:

  • геометрия волн (простая анимация или физическая модель)
  • отражения и преломления
  • прозрачность и глубина
  • взаимодействие с объектами (брызги, следы)

Чем выше настройка тем сложнее поведение поверхности и тем больше дополнительных эффектов включается

Влияние:

🟥 GPU — основная нагрузка (шейдеры, отражения, прозрачность)

Как это ощущается:

  • Высокая настройка создаёт реалистичные волны, корректные отражения
  • При низкой настройке, мы имеем упрощённую поверхность, и иногда “плоскую”

Практика: Настройка воды особенно заметна в играх, где вода занимает значительную часть сцены (например, Subnautica). При ограниченном GPU может давать ощутимый прирост FPS при снижении

Волосы / шерсть (Hair / Fur)

Что делает: отвечает за отрисовку и поведение волос, меха и подобных материалов:

  • огромное количество тонких геометрических элементов
  • симуляция движения (ветер, инерция)
  • сложное освещение (рассеивание света внутри волос)

Часто используются специализированные технологии (например, strand-based rendering).

Влияние:

🟥 GPU — крайне высокая нагрузка (геометрия + шейдеры + симуляция)

Как это ощущается:

  • При высокой настройке, получаем реалистичное движение и объём волос и шерсти
  • При низкой настройке, получим упрощённые “шапка” или текстурные имитации

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

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

Современные технологии

Ray Tracing (трассировка лучей)

Что делает: рассчитывает поведение света физически более корректным способом:

  • лучи света “выпускаются” от камеры или источников
  • отслеживаются их отражения, преломления и поглощение
  • формируются тени, отражения и глобальное освещение на основе реальной геометрии сцены

В отличие от классического рендеринга, где используются приближения (shadow maps, SSR и т.д.), здесь свет моделируется более напрямую.

Влияние:

🟥 GPU — экстремально высокая нагрузка (особенно при активных отражениях и глобальном освещении)

Как это ощущается: чем выше настройки, тем более точные отражения (включая сложные сцены), корректные мягкие тени, более “связанный” свет в сцене. И даже, иногда — более тёмная и реалистичная картинка вместо “игровой яркости”.

В современных играх с высокой детализацией освещения (например, Alan Wake 2) трассировка лучей фактически становится частью художественного стиля, а не просто опцией качества.

Практическое значение: трассировка даёт максимальный визуальный эффект, но является одной из самых дорогих технологий по производительности и часто требует компенсации через апскейлинг

DLSS / FSR / XeSS (апскейлинг)

Что делает: технологии масштабирования изображения. Игра рендерится в более низком разрешении, а затем алгоритм (часто с использованием ИИ или пространственных данных) восстанавливает изображение до целевого разрешения.

Основные реализации:

  • DLSS (NVIDIA) — технология NVIDIA, которая снижает внутреннее разрешение рендера, а затем восстанавливает итоговый кадр.
  • FSR (AMD)
  • XeSS (Intel)

Влияние:

🟩 значительно повышает FPS (за счёт снижения внутреннего разрешения рендера)

Как это ощущается: при работе технологии, заметный рост производительности. При хороших режимах (Quality/Balanced) визуальная разница минимальна, но при агрессивных режимах (Performance/Ultra Performance) возможна потеря чёткости и артефакты.

GPU делает меньше “физической” работы (меньше пикселей и частиц), а алгоритм восстановления компенсирует недостающую детализацию.

Практическое значение: апскейлинг — основной инструмент для игр с Ray Tracing. Он позволяет запускать тяжёлые сцены на среднем и даже слабом железе. Часто становится стандартом, а не опцией, в современных AAA-играх.

Редакторы, простите меня. DLSS 5. Для тех, кто не в курсе, DLSS 5 — это технология NVidia, которая дорисовывает игру при помощи ИИ. Ещё для понимания контекста, всё что генерируется искусственным интеллектом — лютое зло для игроков. Как результат, NVidia получила шквал критики:

Что делает движок, когда вы меняете настройки графики? Часть 2

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

Важно, что ИИ — не враг разработке, а помощник. Например, когда ИИ врагов умён (например как в The Last Of Us 2), они не просто стреляют в вас по очереди и подходят к вам как утки на убой, они могут сговориться и пытаться толпой уничтожить вас. И это очень крутой игровой опыт. Важно, держать баланс.

Синхронизация и плавность

V-Sync (Vertical Synchronization)

Что делает: синхронизирует частоту вывода кадров с частотой обновления монитора. Его основная цель — устранить разрывы изображения (screen tearing), когда на экране одновременно отображаются части разных кадров. Механически, работа идёт через видеокарту. GPU ждёт следующего обновления монитора перед выводом нового кадра.

Влияние:

🟨 input lag — увеличивается из-за ожидания синхронизации
🟨 GPU — может снижаться эффективность при упоре в частоту монитора

Как это ощущается: изображение становится цельным, без “разрывов” и артефактов, но управление может ощущаться менее отзывчивым.

Практическое значение: полезная настройка при нестабильном FPS, но менее актуально при наличии VRR (G-Sync/FreeSync), где проблема решается иначе (через монитор, а не ПК).

FPS Limit (ограничение FPS)

Что делает: ограничивает максимальное количество кадров, которые может отрисовывать игра. При ограничении 60 FPS, GPU не пытается превышать этот порог и отрисовывает ровно 60 кадров в секунду.

Влияние:

🟩 стабильность — снижает скачки нагрузки
🟨 энергопотребление и нагрев — уменьшаются

Как это ощущается: с одной стороны, более ровный фреймтайм (меньше микрофризов) и предсказуемое поведение системы, а также иногда более стабильный input lag по сравнению с “разбросанным” FPS. С другой стороны, ограничения FPS снижают частоту кадров, а значит и визуальную плавность картинки.

Да простят меня фанаты FPS, человек видит 24 кадра в секунду. Как по мне, 30 кадров — базовый минимум для игроков. 60 — норма и комфорт, а всё что выше — это уже скорее развлечение, чем реальная необходимость. 144, 240, безлимитные миллиард FPS в инди-хоррорах. Всё это не нужная вещь в игре. Сравнение 144 и 145 FPS похоже для меня как сравнение скорости света и скорости света + 1.

Есть исключение. Одно. Сетевые шутеры. Тут FPS имеет значение. Тут игроки действительно начинают видеть всё быстрее. Было даже исследование по поводу, может иногда, но вообще не физиологический процесс. К сожалению или счастью, мы не мухи (они видят до 300 кадров в секунду).

Практическое значение: ограничение FPS помогает выровнять нестабильную производительность и особенно полезно при перегреве CPU и/или GPU. Часто используется вместе с VRR для максимальной плавности.

Frame Generation (генерация кадров)

Что делает: создаёт дополнительные “искусственные” кадры между реальными. Механизм тут весьма интересный. Анализируются два реальных кадра, затем алгоритм (часто с оптическим потоком и ИИ) строит промежуточный кадр и итоговая частота кадров визуально увеличивается. Примерами таких технология являются: DLSS Frame Generation и FSR 3 Frame Generation

Влияние:

🟩 FPS — заметное увеличение плавности отображения
🟨 latency (задержка типа ping) — ввод не ускоряется, а иногда ощущается задержка

Как это ощущается: картинка становится более плавной (визуально высокий FPS), но управление может оставаться ближе к исходному FPS, а не искусственно улучшенному.

Ключевой момент: Frame Generation улучшает именно визуальную плавность, но не увеличивает скорость реакции системы на ввод в той же степени.

Практическое значение: генерация кадров хорошо работает при базовом стабильном FPS, но плохо маскирует нестабильный фреймтайм (может усиливать ощущение задержек). Генерация особенно эффективна в сочетании с DLSS/FSR и VRR.

CPU-зависимые настройки

NPC / Crowd Density (плотность персонажей)

Что делает: определяет количество одновременно активных персонажей/объектов в сцене. К активным персонажам/объектам относятся прохожие, транспорт, второстепенные NPC. Каждый из них — это не просто модель, а набор систем (поведение (AI), анимации, навигация (pathfinding), взаимодействие с окружением).

Влияние:

🟥 CPU — основная нагрузка (логика, обновление состояний, обработка поведения)

Как это ощущается: чем выше плотность NPC в игре, тем мир более “живой”, чем ниже, тем мир “мертвее” (пустые улицы, меньше активности).

Практическое значение: NPC и механики мира — одна из главных причин проблем в CPU в играх с открытым миром. При слабом процессоре снижение этой настройки даёт быстрый и заметный прирост стабильности. На FPS влияет не столько среднее значение, сколько стабильность фреймтайма (меньше просадок в процессоре).

Физика (Physics Quality)

Что делает: определяет точность и сложность симуляции физических процессов (столкновения объектов, разрушения, тряпичная физика (ragdoll), жидкости, ткани, вторичные движения).

Чем выше настройка, тем больше объектов участвует в симуляции и тем точнее рассчитываются взаимодействия.

Влияние:

🟥 CPU — основная нагрузка (расчёты физики в реальном времени)

Как это ощущается: чем выше настройка физики (обычно в процентах), тем более естественное поведение объектов и тел, а чем ниже, тем более упрощённые реакции и меньше взаимодействий.

Практическое значение: физика объектов особенно заметна в сценах с большим количеством взаимодействующих объектов. При большом числе физических объектов и взаимодействий, возможны резкие просадки FPS в хаотичных моментах (взрывы, разрушения). Снижение настройки часто стабилизирует именно редкие, но сильные лаги, но многие игры пренебрегают данной настройкой.

Пару слов, как программисты могут закрыть нарративные моменты. Например, в Half-Life 2, много физики. Очень много физики. Но как сделать сложность в игре? Враги находятся в тех же заскриптованных местах. Писать сложный ИИ — дорого и долго. Ребята выкрутились фантастически!

Все враги видят вас и идеальные стрелки. Они все метят в голову и попадают всегда, когда вас видят и вы не увернулись от пули. На лёгком уровне сложности враги попадают в вас с вероятностью (условно) 10%. Дело в том, что в коде прописано, что если они не попадают в вас, они попадают в разрушаемый объект и вы будите видеть красиво разрушение какой-либо бочки или стеллажа. Чем выше сложность — тем выше шанс попадания в главного героя.

Таким образом, разработчики закрыли 2 задачи: и сложность настроили, и продемонстрировали круто проработанную физику. Это очень классный пример геймдизайна, который стоит брать на вооружение

Что делает движок, когда вы меняете настройки графики? Часть 2

Карта влияния настроек

Задача данной карты влияния настроек — не снижать настройки наугад, а быстро определить, какое именно звено системы становится узким местом: видеокарта (GPU), процессор (CPU) или видеопамять (VRAM).

Базовый принцип

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

  • GPU отвечает за отрисовку пикселей и визуальные эффекты
  • CPU отвечает за обработку объектов, логики и сцен
  • VRAM хранит текстуры и буферы, необходимые для рендера

Снижение настроек имеет смысл только тогда, когда оно направлено на разгрузку конкретного узкого места.

Если наблюдается низкий FPS в динамике

Снижение частоты кадров при активных сценах (взрывы, эффекты, резкие повороты камеры) чаще всего связано с перегрузкой GPU.

Ключевые настройки:

  • разрешение (Resolution)
  • масштаб рендера (Render Scale)
  • тени (Shadows)
  • освещение (Lighting, Global Illumination)
  • отражения (Reflections)
  • частицы (Particles)
  • постобработка (Post-processing)
  • трассировка лучей (Ray Tracing)

Причина низкого FPS: увеличивается количество обрабатываемых пикселей и сложность шейдеров.

Если просадки происходят в “тяжёлых” сценах

Падение производительности в городах, при большом количестве NPC или в открытом мире чаще связано с ограничениями CPU.

Ключевые настройки:

  • дальность прорисовки (Draw Distance)
  • плотность NPC (Crowd Density)
  • физика (Physics Quality)
  • уровень детализации (LOD)

Причина просадок: процессор не успевает обрабатывать большое количество объектов, их поведение и взаимодействия.

Если наблюдаются фризы и статтеры

Кратковременные зависания при в целом нормальном FPS чаще всего указывают на проблемы с VRAM.

Ключевые настройки:

  • качество текстур (Texture Quality)
  • разрешение (Resolution)
  • трассировка лучей (Ray Tracing)

Причина фризов: нехватка видеопамяти приводит к выгрузке и повторной загрузке данных, что вызывает задержки.

Диагностика по типу поведения

Постоянно низкий FPS означает ограничение со стороны GPU. Требуется снижение графических настроек, влияющих на рендеринг.

Резкие просадки при определённых условиях обычно бывают при ограничение со стороны CPU. Характерно для сцен с высокой плотностью объектов.

Нестабильный FPS (скачки) часто связан с CPU или потоковой подгрузкой данных (VRAM/накопитель).

При микрофризах (stutter) наиболее вероятная причина — нехватка VRAM.

Проблема задержки ввода (input lag). Следует проверить V-Sync, режим экрана и технологии генерации кадров. Обычно выглядит как высокий FPS при ощущении “торможения” управления

Приоритет настройки параметров

Не все настройки одинаково влияют на производительность. Их можно условно разделить по эффективности.

Наиболее эффективные для повышения FPS:

  • масштаб рендера (Render Scale)
  • технологии апскейлинга (DLSS / FSR / XeSS)
  • тени (Shadows)
  • отражения (Reflections)
  • объёмное освещение (Volumetric Lighting)

Эти параметры дают заметный прирост производительности при умеренной потере качества.

Среднее влияние:

  • дальность прорисовки (Draw Distance)
  • уровень детализации (LOD)
  • частицы (Particles)
  • постобработка (Post-processing)

Минимальное влияние:

  • анизотропная фильтрация (Anisotropic Filtering)
  • bloom
  • текстуры (при достаточном объёме VRAM)

Типичные ошибки при настройке

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

Даже производительная видеокарта может стать узким местом при высоком разрешении, активной трассировке лучей и максимальных настройках. Иными словами, игнорирование ограничений GPU может вызвать резкое ухудшение визуального отображения игры.

Текстуры редко снижают средний FPS напрямую, но при нехватке VRAM вызывают фризы и нестабильность. Не стоит недооценивать влияния текстур на производительность.

Полезный блок со скидкой

За FPS, физикой, памятью и рендерингом стоит обычная инженерная база: алгоритмы, архитектура, отладка и понимание того, где система упирается в ресурсы. Эти навыки можно развивать на курсах Практикума по программированию и разработке.

Промокод: KOD (можно просто нажать) даст скидку на любую платную программу. Бесплатные вводные части тоже есть — можно сначала проверить направление без привязки карты.

Практическая стратегия настройки

Шаг 1. Включить технологии апскейлинга (DLSS / FSR / XeSS) в режиме качества. Установить текстуры на максимально возможный уровень без превышения объёма VRAM.

Шаг 2. При недостаточном FPS последовательно снижать:

  • тени
  • отражения
  • глобальное освещение
  • масштаб рендера

Шаг 3. При сохранении проблем оценить нагрузку на CPU и уменьшить дальность прорисовки и/или снизить плотность NPC.

Шаг 4. При наличии фризов, снизить качество текстур.

Итоговая карта влияний

  • Перегрузка GPU — снижать визуальную сложность и количество пикселей
  • Перегрузка CPU — снижать количество объектов и сложность симуляции
  • Нехватка VRAM — снижать объём данных (в первую очередь текстуры)

Заключение

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

Ключевая особенность игровой архитектуры заключается в том, что действия игрока не обрабатываются мгновенно. Любое нажатие проходит через цепочку: устройство ввода, операционную систему, очередь событий движка и только затем попадает в игровую логику. Уже на этом этапе формируется базовая задержка, которая дополнительно увеличивается за счёт ожидания следующего тика, расчёта физики, применения анимации и вывода кадра на экран.

Важным следствием является то, что ощущение отзывчивости управления не является прямым отражением скорости системы. Это результат баланса между несколькими факторами:

  • частотой обновления логики (tick rate)
  • частотой кадров (FPS)
  • механизмами буферизации ввода
  • сложностью анимационных переходов
  • задержками рендера и вывода

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

Отдельного внимания заслуживает разделение логики и рендера. Привязка игровых расчётов к FPS приводит к нестабильному поведению системы на разных конфигурациях. Этот подход исторически встречался, например, в Dark Souls, где увеличение частоты кадров влияло на физику и тайминги. Современные решения основываются на фиксированном шаге симуляции или использовании deltaTime, что обеспечивает предсказуемость и повторяемость поведения.

С точки зрения проектирования механик, критическим инструментом является управление состояниями (FSM). Именно логика определяет, может ли действие быть выполнено в текущий момент. Это объясняет ситуации, когда ввод игрока игнорируется: система не допускает перехода между состояниями, несмотря на факт нажатия кнопки. Подобное поведение наблюдается, например, в The Witcher 3: Wild Hunt, где ограничения накладываются текущим состоянием персонажа.

Физическая симуляция в играх ориентирована не на точность, а на стабильность. Использование фиксированного шага времени позволяет избежать расхождений в поведении объектов и обеспечивает корректную работу столкновений. При этом физика остаётся упрощённой моделью, достаточной для достижения правдоподобного результата. В Half-Life 2 физическая система была интегрирована в геймплей, что наглядно демонстрирует переход от декоративной среды к интерактивной.

Анимация выступает как промежуточный слой между логикой и визуализацией, но при этом оказывает прямое влияние на восприятие управления. Сложные системы смешивания анимаций повышают реализм, однако могут создавать ощущение инерции и задержки. Это хорошо иллюстрирует Red Dead Redemption 2, где высокая детализация движений сопровождается менее мгновенной реакцией персонажа.

Производительность системы определяется не только мощностью оборудования, но и структурой зависимостей между подсистемами. Даже при наличии многопоточности значительная часть задач остаётся последовательной, а главный поток часто становится ограничивающим фактором. Это проявлялось, например, в Cyberpunk 2077, где сложность сцены и количество активных объектов приводили к упору в CPU.

Таким образом, поведение игры в момент выполнения даже простого действия определяется не отдельной системой, а их взаимодействием. Любое отклонение — будь то задержка, нестабильность или ощущение “тяжёлого” управления — является следствием архитектурных решений и выбранных компромиссов.

Практические рекомендации

При разработке:

  • разделять логику и рендер, избегая зависимости от FPS
  • использовать фиксированный timestep для физики
  • применять буферизацию ввода с контролируемыми ограничениями
  • контролировать сложность состояний и переходов
  • учитывать влияние анимации на ощущение управления
  • минимизировать узкие места в главном потоке

При настройке производительности:

  • при низком FPS в динамике снижать GPU-зависимые параметры (разрешение, освещение, тени)
  • при просадках в насыщенных сценах уменьшать CPU-нагрузку (дальность прорисовки, количество NPC)
  • при фризах обращать внимание на объём видеопамяти и качество текстур
  • при ощущении задержки ввода проверять синхронизацию кадров и режимы отображения

Итог

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

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

Советуем дополнительно почитать по теме:

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

Как начать программировать с нуля — подборка тренажёров, курсов и ресурсов для тех, кто хочет перейти от интереса к технологиям к первым программам и проектам.

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

9 лучших книг для программистов в 2026 году — подборка книг про код, архитектуру, инженерное мышление, карьерный рост и работу с большими проектами.

Бонус для читателей

Если вам интересно погрузиться в мир ИИ и при этом немного сэкономить, держите наш промокод на курсы Практикума. Он даст вам скидку при оплате, поможет с льготной ипотекой и даст безлимит на маркетплейсах. Ладно, окей, это просто скидка, без остального, но хорошая.

Вам может быть интересно
hard