Как правильно настраивать игры - отключаем «бесполезные» настройки графики. Улучшаем графику в любой игре (SweetFX и ENB)

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

Анизотропная фильтрация

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

Триленейная

Анизатропная

Билинейная фильтрация является самым простым алгоритмом и требует меньше вычислительной мощности, однако и дает наихудший результат. Трилинейная добавляет четкости, но по-прежнему генерирует артефакты. Наиболее продвинутым способом, устраняющим заметные искажения на объектах, сильно наклоненных относительно камеры, считается анизо­тропная фильтрация. В отличие от двух предыдущих методов она успешно борется с эффектом ступенчатости (когда одни части текстуры размываются сильнее других, и граница между ними становится явно заметной). При использовании билинейной или трилинейной фильтрации с увеличением расстояния текстура становится все более размытой, анизотропная же этого недостатка лишена.

Учитывая объем обрабатываемых данных (а в сцене может быть множество 32-битовых текстур высокого разрешения), анизотропная фильтрация особенно требовательна к пропускной способности памяти. Уменьшить трафик можно в первую очередь за счет компрессии текстур, которая сейчас применяется повсеместно. Ранее, когда она практиковалась не так часто, а пропуская способность видеопамяти была гораздо ниже, анизотропная фильтрация ощутимо снижала количество кадров. На современных же видеокартах она почти не влияет на fps.

Анизотропная фильтрация имеет лишь одну настройку – коэффициент фильтрации (2x, 4x, 8x, 16x). Чем он выше, тем четче и естественнее выглядят текстуры. Обычно при высоком значении небольшие артефакты заметны лишь на самых удаленных пикселах наклоненных текстур. Значений 4x и 8x, как правило, вполне достаточно для избавления от львиной доли визуальных искажений. Интересно, что при переходе от 8x к 16x снижение производительности будет довольно слабым даже в теории, поскольку дополнительная обработка понадобится лишь для малого числа ранее не фильтрованных пикселов.

Шейдеры

Шейдеры – это небольшие программы, которые могут производить определенные манипуляции с 3D-сценой, например, изменять освещенность, накладывать текстуру, добавлять постобработку и другие эффекты.

Шейдеры делятся на три типа: вершинные (Vertex Shader) оперируют координатами, геометрические (Geometry Shader) могут обрабатывать не только отдельные вершины, но и целые геометрические фигуры, состоящие максимум из 6 вершин, пиксельные (Pixel Shader) работают с отдельными пикселами и их параметрами.

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

Шейдеры очень продуктивно работают в параллельном режиме, и именно поэтому в современных графических адаптерах так много потоковых процессоров, которые тоже называют шейдерами. Например, в GeForce GTX 580 их целых 512 штук.

Parallax mapping

Parallax mapping – это модифицированная версия известной техники bumpmapping, используемой для придания текстурам рельефности. Parallax mapping не создает 3D-объектов в обычном понимании этого слова. Например, пол или стена в игровой сцене будут выглядеть шероховатыми, оставаясь на самом деле абсолютно плоскими. Эффект рельефности здесь достигается лишь за счет манипуляций с текстурами.

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

Parallax mapping существенно экономит вычислительные ресурсы компьютера, поскольку при использовании объектов-аналогов со столь же детальной 3D-структурой производительности видеоадаптеров не хватало бы для просчета сцен в режиме реального времени.

Эффект чаще всего применяется для каменных мостовых, стен, кирпичей и плитки.

Anti-Aliasing

До появления DirectX 8 сглаживание в играх осуществлялось методом SuperSampling Anti-Aliasing (SSAA), известным также как Full-Scene Anti-Aliasing (FSAA). Его применение приводило к значительному снижению быстродействия, поэтому с выходом DX8 от него тут же отказались и заменили на Multisample Аnti-Аliasing (MSAA). Несмотря на то что данный способ давал худшие результаты, он был гораздо производительнее своего предшественника. С тех пор появились и более продвинутые алгоритмы, например CSAA.

AA выключено

AA включено

Учитывая, что за последние несколько лет быстродействие видеокарт заметно увеличилось, как AMD, так и NVIDIA вновь вернули в свои ускорители поддержку технологии SSAA. Тем не менее использовать ее даже сейчас в современных играх не получится, поскольку количество кадров/с будет очень низким. SSAA окажется эффективной лишь в проектах предыдущих лет, либо в нынешних, но со скромными настройками других графических параметров. AMD реализовала поддержку SSAA только для DX9-игр, а вот в NVIDIA SSAA функционирует также в режимах DX10 и DX11.

Принцип работы сглаживания очень прост. До вывода кадра на экран определенная информация рассчитывается не в родном разрешении, а увеличенном и кратном двум. Затем результат уменьшают до требуемых размеров, и тогда «лесенка» по краям объекта становится не такой заметной. Чем выше исходное изображение и коэффициент сглаживания (2x, 4x, 8x, 16x, 32x), тем меньше ступенек будет на моделях. MSAA в отличие от FSAA сглаживает лишь края объектов, что значительно экономит ресурсы видеокарты, однако такая техника может оставлять артефакты внутри полигонов.

Раньше Anti-Aliasing всегда существенно снижал fps в играх, однако теперь влияет на количество кадров незначительно, а иногда и вовсе никак не cказывается.

Тесселяция

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

Выключена

Включена

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

Технология тесселяции известна в кинематографе еще с 80-х го­дов, однако в играх она стала поддерживаться лишь недавно, а точнее после того, как графические ускорители наконец достигли необходимого уровня производительности, при котором она может выполняться в режиме реального времени.

Чтобы игра могла использовать тесселяцию, ей требуется видеокарта с поддержкой DirectX 11.

Вертикальная синхронизация

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

Если частота обновления монитора составляет 60 Гц, и видео­карта успевает просчитывать 3D-сцену как минимум с таким же количеством кадров, то каждое обновление монитора будет отображать новый кадр. Другими словами, с интервалом 16,66 мс пользователь будет видеть полное обновление игровой сцены на экране.

Следует понимать, что при включенной вертикальной синхронизации fps в игре не может превышать частоту вертикальной развертки монитора. Если же число кадров ниже этого значения (в нашем случае меньше, чем 60 Гц), то во избежание потерь производительности необходимо активировать тройную буферизацию, при которой кадры просчитываются заранее и хранятся в трех раздельных буферах, что позволяет чаще отправлять их на экран.

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

Post-processing

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

High dynamic range (HDR)

Эффект, часто используемый в игровых сценах с контрастным освещением. Если одна область экрана является очень яркой, а другая, наоборот, затемненной, многие детали в каждой из них теряются, и они выглядят монотонными. HDR добавляет больше градаций в кадр и позволяет детализировать сцену. Для его применения обычно приходится работать с более широким диапазоном оттенков, чем может обеспечить стандартная 24-битовая точность. Предварительные просчеты происходят в повышенной точности (64 или 96 бит), и лишь на финальной стадии изображение подгоняется под 24 бита.

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

Bloom

Bloom нередко применяется совместно с HDR, а еще у него есть довольно близкий родственник – Glow, именно поэтому эти три техники часто путают

.

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

Film Grain

Зернистость – артефакт, возникающий в аналоговом ТВ при плохом сигнале, на старых магнитных видеокассетах или фотографиях (в частности, цифровых изображениях, сделанных при недостаточном освещении). Игроки часто отключают данный эффект, поскольку он в определенной мере портит картинку, а не улучшает ее. Чтобы понять это, можно запустить Mass Effect в каждом из режимов. В некоторых «ужастиках», например Silent Hill, шум на экране, наоборот, добавляет атмосферности.

Motion Blur

Motion Blur – эффект смазывания изображения при быстром перемещении камеры. Может быть удачно применен, когда сцене следует придать больше динамики и скорости, поэтому особенно востребован в гоночных играх. В шутерах же использование размытия не всегда воспринимается однозначно. Правильное применение Motion Blur способно добавить кинематографичности в происходящее на экране.

Выключен

Включен

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

SSAO

Ambient occlusion – техника, применяемая для придания сцене фотореалистичности за счет создания более правдоподобного освещения находящихся в ней объектов, при котором учитывается наличие поблизости других предметов со своими характеристиками поглощения и отражения света.

Screen Space Ambient Occlusion является модифицированной версией Ambient Occlusion и тоже имитирует непрямое освещение и затенение. Появление SSAO было обусловлено тем, что при современном уровне быстродействия GPU Ambient Occlusion не мог использоваться для просчета сцен в режиме реального времени. За повышенную производительность в SSAO приходится расплачиваться более низким качеством, однако даже его хватает для улучшения реалистичности картинки.

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

Cel shading

Игры с эффектом Cel shading начали делать с 2000 г., причем в первую очередь они появились на консолях. На ПК по-настоящему популярной данная техника стала лишь через пару лет, после выхода нашумевшего шутера XIII. С помощью Cel shading каждый кадр практически превращается в рисунок, сделанный от руки, или фрагмент из детского мультика.

В похожем стиле создают комиксы, поэтому прием часто используют именно в играх, имеющих к ним отношение. Из последних известных релизов можно назвать шутер Borderlands, где Cel shading заметен невооруженным глазом.

Особенностями технологии является применение ограниченного набора цветов, а также отсутствие плавных градиентов. Название эффекта происходит от слова Cel (Celluloid), т. е. прозрачного материала (пленки), на котором рисуют анимационные фильмы.

Depth of field

Глубина резкости – это расстояние между ближней и дальней границей пространства, в пределах которого все объекты будут в фокусе, в то время как остальная сцена окажется размытой.

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

Лицезреть эффект глубины резкости в гипертрофированной форме можно на некоторых фотографиях. Именно такую степень размытия часто и пытаются симулировать в 3D-сценах.

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

Влияние на производительность

Чтобы выяснить, как включение тех или иных опций сказывается на производительности, мы воспользовались игровым бенчмарком Heaven DX11 Benchmark 2.5. Все тесты проводились на системе Intel Core2 Duo e6300, GeForce GTX460 в разрешении 1280×800 точек (за исключением вертикальной синхронизации, где разрешение составляло 1680×1050).

Как уже упоминалось, анизо­тропная фильтрация практически не влияет на количество кадров. Разница между отключенной анизотропией и 16x составляет всего лишь 2 кадра, поэтому рекомендуем ее всегда ставить на максимум.

Сглаживание в Heaven Benchmark снизило fps существеннее, чем мы того ожидали, особенно в самом тяжелом режиме 8x. Тем не менее, поскольку для ощутимого улучшения картинки достаточно и 2x, советуем выбирать именно такой вариант, если на более высоких играть некомфортно.

Тесселяция в отличие от предыдущих параметров может принимать произвольное значение в каждой отдельной игре. В Heaven Benchmark картинка без нее существенно ухудшается, а на максимальном уровне, наоборот, становится немного нереалистичной. Поэтому следует устанавливать промежуточные значения – moderate или normal.

Для вертикальной синхронизации было выбрано более высокое разрешение, чтобы fps не ограничивался вертикальной частотой развертки экрана. Как и предполагалось, количество кадров на протяжении почти всего теста при включенной синхронизации держалось четко на отметке 20 или 30 кадров/с. Это связано с тем, что они выводятся одновременно с обновлением экрана, и при частоте развертки 60 Гц это удается сделать не с каждым импульсом, а лишь с каждым вторым (60/2 = 30 кадров/с) или третьим (60/3 = 20 кадров/с). При отключении V-Sync число кадров увеличилось, однако на экране появились характерные артефакты. Тройная буферизация не оказала никакого положительного эффекта на плавность сцены. Возможно, это связано с тем, что в настройках драйвера видеокарты нет опции принудительного отключения буферизации, а обычное деактивирование игнорируется бенчмарком, и он все равно использует эту функцию.

Если бы Heaven Benchmark был игрой, то на максимальных настройках (1280×800; AA – 8x; AF – 16x; Tessellation Extreme) в нее было бы некомфортно играть, поскольку 24 кадров для этого явно недостаточно. С минимальной потерей качества (1280×800; AA – 2x; AF – 16x, Tessellation Normal) можно добиться более приемлемого показателя в 45 кадров/с.

Надеюсь данная статья не только позволит вам лучше оптимизировать игру под свой компьютер, но и расширит ваш кругозор. Совсем скоро появится статья о реальном влиянии количества FPS на восприятие игры.

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

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

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

Важно!
Для разгона видеочипа на андроид-устройстве необходимы Root-права. Все нижеописанные программы тестировались на смартфоне с ОС Android 5.0.2.

Самый простой способ настроить граифку - в настройках игры
Данный способ самый элементарный. С ним знаком практически каждый пользователь. Все мы знаем, что практически на всех ПК-играх, есть возможность настраивать звук, графику, управление и т.д. На многих (самых продвинутых) андроид-играх, эта функция, тоже присутствует. В качестве примера возьмем «Asphalt 8: На взлёт», который можно скачать с

Инструкция:

Выглядеть это будет вполне сносно:

Как настраивать графику в играх через GLTools

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

Важно!
Все манипуляции с устройством вы проводите на свой страх и риск. Использование GLTools на сто процентов безопасно только в случае установленного . Если стоит заводское, то есть шанс «окирпичить» телефон (хотя у меня все прошло как по маслу).

Инструкция:

  1. Скачиваем, устанавливаем и запускаем приложение.
  2. После запуска, ставим галочки во всех трех полях и нажимаем кнопку «Установить». Для установки данного плагина единожды потребуется интернет.

  3. Приложение запросит предоставление Root-прав. Нажимаем «Разрешить». Устройство перезагрузится.

  4. Повторно зайдя в GLTools, мы увидим список всех приложений установленных на нашем смартфоне. Нужно выбрать то, графику которого мы желаем улучшить. В качестве примера, возьмем все тот же «Asphalt 8: На взлёт». Игра довольно требовательна к «железу» устройства и поэтому с ее помощью мы наглядно увидим разницу.

  5. Нажимаем на название игры и пред нами появится вот такое окно. Здесь очень много различных настроек, поэтому необходимо разобраться с каждой в отдельности.Первым делом, ставим галочку в поле напротив пункта «Включить настройки для данного..» (по умолчанию оно отключено). Тем самым мы применим все наши установки к «Asphalt 8: На взлёт».

  6. Сглаживание (MSAA/CSAA). Это технология устранения эффекта «зубчатости», возникающего на краях одновременно выводимых на экран изображений. Нажав на этот пункт, мы увидим здесь несколько возможных вариантов:

    Default – который определяется самим устройством. Если вы, не продвинутый пользователь, то оставьте активным именно этот пункт.

    MSAA 4x (не –Tegra) и MSAA 16x (не –Tegra). Эти режимы сглаживания предназначены для устройств со всеми другими типами видеопроцессоров,
    кроме Tegra. Это более старая технология она позволяет улучшить графику и обеспечить экономию вычислительной мощности процессора. Большее значение 16х даст более качественное изображение, но уменьшит производительность и наоборот.

    CSAA 4x (только Tegra) и CSAA 16x (только Tegra). Сразу становится ясно, что CSAA – это более новая технология сглаживания, которая используется в устройствах с видеочипом Tegra. Данная технология позволяет получить наиболее мягкое, плавное и реалистичное изображение. Соответственно она будет расходовать больше ресурсов вашего устройства.

  7. Для своего смартфона я выберу и MSAA 16x (не –Tegra), вы же делаете это в зависимости от видеопроцессора своего девайса.
  8. Следующий пункт называется «Уменьшить разрешение». Уменьшать его следует, если игра «подвисает» и тормозит. Снизив этот параметр до 0,25х, мы получим более низкое качество графики, но избавимся от лагов в игре.

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

  10. «Оптимизировать GLSL шейдеры». Этот пункт поможет убрать «тормоза» в играх с большим количеством теней и растительности. Причем активные тени должны быть заданы шейдерами, а не текстурами, иначе производительность не повысится.

  11. В разделе «Текстуры» мы рекомендуем воспользоваться пунктом «Уменьшать текстуры», а остальные не трогать, ибо велика вероятность, что игра просто не запустится. Нажав кнопку «Уменьшать текстуры» мы увидим вот такой список. Чем больше мы их уменьшим, тем больше будет производительность игры. Однако про красивую картинку можно будет забыть.

  12. Счетчик FPS визуально показывает производительность внутри игры. Если он нужен, то выбираем «Наэкранный». Чуть ниже можно выбрать его расположение, в какой части экрана он будет отображаться.

  13. Далее есть пункт под названием «Применить шаблон». Нажав на него, мы увидим несколько доступных шаблонов под различные видеочипы. Если у вас один из этих видеопроцессоров смело выбирайте одноименный шаблон. Тем самым вы наиболее оптимально автоматически настроите все необходимые параметры.

  14. Если в вашем андроид-устройстве установлен видеочип Adreno, то пролистайте список еще, ниже и поставьте галочку напротив пункта «Half-Float костыль». Это по идее должно повысить производительность в игре.
  15. Все остальные пункты лучше не трогать, ибо они доступны и понятны немногим (автор в число таких людей не входит).

И теперь самое главное: протестируем «Асфальт: На взлет», используя различные графические установки.

Вот так игровая графика выглядела без постороннего вмешательства и использования Gtools (на моем Redmi Note 3 никаких подвисаний замечено не было):

Так визуальная часть игры выглядела с использованием самых максимальных настроек Gtools:

Ни о каком качестве здесь говорить, конечно, не приходится. Создается впечатление, что мы играем в «Asphalt 8: На взлёт» от силы на Sega. Но если у вас совсем слабенький смартфон, то и это уже будет что-то. Тем более, что с такой графикой игра обретает особый антураж старой пиксельной игры.

В заключение, хотелось бы сказать, что GLTools по-настоящему простой и удобный инструмент, позволяющий настроить любую игру под возможности вашего устройства на ОС Android.

Настройка графика через "меню разработчика"

Можно улучшить графику в играх с помощью встроенных ресурсов самого андроид-устройства. Конечно, такой тонкой и полноценной настройки как в предыдущем случае вы не увидите, но все, же это лучше, чем ничего.

Инструкция:

Настройка графика в играх на телефонах Samsung

Существует еще одна замечательная программа под названием "Samsung Game Tuner", которая позволяет произвести тонкую настройку графических параметров игры: изменить разрешение, частоту кадров, качество текстур. Приложение имеет несколько настраиваемых режимов и позволяет выжать из вашего девайса стопроцентную игровую производительность.

К сожалению данная прога предназначена для топовой линейки смартфонов Samsung и многим простым смертным (как автор) ей воспользоваться не удастся.

Заключение

Благодаря нашим манипуляциям с графикой в играх мы можем сделать такой вывод:
Запустить требовательную к железу игру на старом смартфоне вполне возможно. Вот только это очень сильно скажется на качестве самой игры. Играть так или бежать покупать новый мощный игровой смартфон – это только ваш выбор!

Если в процессе настройки графики в какой-либо игре, у вас возникли вопросы, вы всегда можете описать свою проблему в комментариях к статье и мы вам обязательно поможем!

Теперь же поговорим о еще одном эффекте, который позволяет серьезно улучшить реалистичность картинки - о Ambient Occlusion (AO), или о затенении.

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

Таких черных теней не бывает (ну на Земле по крайней мере), так что сразу становится очевидным, что мы забыли - рассеяние света: суть в том, что в реальном времени фотоны могут отражаться от различных поверхностей и в итоге попадать туда, куда напрямую фотоны от источника не долетают: именно поэтому в тени хоть и темнее, чем на свету, но не черным черно. На Земле таким «рассеивателем» фотонов выступает сама атмосфера.

Но тут возникает вопрос - а как это рассчитать-то? Увы - алгоритма, дающего 100% точное рассеяние света в real-time, нет, однако есть множество хорошо приближенных к реальности алгоритмов, отлаженных настолько, что они спокойно используются в видеоиграх.

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

Однако тут мы получаем очередную проблему - отрисовка геометрии происходит постепенно, поэтому заграждающий фактор также в процессе отрисовки может серьезно меняться. Можно, конечно, рассчитать AO на этапе загрузки сцены, но тогда затенение не коснется динамических объектов (персонажей, машин и т.д.) - а это нехорошо. И тут приходит идея использовать для отрисовки затенения экранное пространство (Screen Space), что в итоге выливается в простейший алгоритм AO - SSAO.

SSAO

Этот алгоритм появился еще в Crysis 10 лет назад. Его суть проста: после построения геометрии у нас остается Z-буфер, или буфер глубины, который включает в себя абсолютно всю информацию о геометрии сцены - а значит никаких проблем сделать AO нет.

Хотя, конечно, кого я обманываю - проблемы есть, и самая серьезная - недостаточная производительность современных видеокарт: для того, чтобы получить более-менее неплохую карту затенения, для каждого фрагмента сцены нужно обсчитывать порядка 200-250 направлений, что позволяет «закопать» любой GPU. Поэтому делается хитрее - используется 8-32 «луча», направленные на выбранный фрагмент сцены, которые каждый раз поворачиваются на случайное значение. В итоге получается терпимое качество картинки с не очень большими затратами на расчеты:

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

HBAO и HBAO+

Nvidia не была бы Nvidia, если бы не стала развивать затенение дальше, представив в 2008 году HBAO - Horizon Based Ambient Occlusion. От SSAO это затенение отличалось тем, что оно основано на физической модели, где аппроксимируется интеграл освещенности фрагмента сцены со значениями выборки буфера глубины. Итоговое качество оказывается выше SSAO при большом числе выборок, но мы опять же упираемся в производительность. Поэтому HBAO рендерится обычно в более низком разрешении, что приводит к мерцанию картинки.

Проблема мерцания была исправлена в HBAO+ простым методом, который сейчас активно использует Sony в 4К играх на PlayStation 4 Pro: для рассчета HBAO+ используется шахматный рендеринг, то есть для обработки затенения используется часть предыдущего кадра и половина нового: это требует меньше затрат GPU, но при этом позволяет рендерить затенение в исходном разрешении, что и убирает мерцание.

HDAO

AMD в стороне не остались, и стали использовать собственное затенение (которое, к слову, также работает и на Nvidia) - HDAO (High Definition AO). Увы - AMD не делится алгоритмом, однако известно, что в его основе лежит Gather4 - технология, которая собирает 4 текселя в один регистр. То есть, как и с HBAO, по сути происходит рендеринг в пониженном разрешении. В итоге, в среднем картинка с HBAO и HDAO сравнима по качеству, но опять же - все достаточно сильно зависит от игры: к примеру, в Far Cry 3 с HDAO трава выглядит красивее:

VXAO

С выходом DX12 Nvidia представила принципиально новое затенение - VXAO (Voxel Accelerated Ambient Occlusion). Его суть в том, что оно работает уже не с пикселями и текселями (то есть 2D-объектами), а с вокселями - аналогом пикселя в 3D. И теперь мы используем не Z-буфер, а воксельное построение сцены, поэтому алгоритм состоит из трех пунктов: вокселизация, постобработка вокселей и трассировка конуса. Вокселизация выполняется путем рендеринга треугольных сеток в трехмерную текстуру, и поэтому ее производительность сильно зависит от общего количества треугольников, размера этих треугольников и количества вызовов рисования, необходимых для их рендеринга. Постобработка объединяет проходы, такие как очистка, фильтрация и понижающие выборки вокселей, а ее производительность зависит от общего количества вокселей, созданных во время вокселизации. Типичное время после обработки составляет 0,5 - 1,5 мс. И, наконец, трассировка конуса выполняется в пространстве экрана, поэтому его производительность зависит от разрешения экрана и скорости затенения. Итоговое качество картинки оказывается в куда лучше, чем с HBAO+:


На этом все. Советы для игроков простые: если компьютер хорошо тянет игру без AO, то можно попробовать включить SSAO или HBAO - обычно это снижает fps не более чем на 10%. Если же и с ними производительность отличная - можно попробовать HBAO+ и HDAO. Ну и для самых топовых видеокарт современности можно порекомендовать набирающее обороты VXAO - оно крайне требовательно к ресурсам (в том числе и к видеопамяти), поэтому даже в FHD оно будет доступно лишь пользователям старших Nvidia GTX 900ой и 1000ой линейки, а также владельцам старших AMD RX, Fury и Vega.

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

Все мы любим выставлять настройки графики на максимум. Но не все они имеют положительный эффект. Даже с элитным аппаратным обеспечением, есть некоторые графические параметры, которые дают небольшое визуальное различие, но имеют значительное влияние на частоту кадров. А если вы ещё и играете на старом ПК, то это именно те настройки, которые вам нужно отключать, чтобы повысить частоту кадров и в тоже время не сделать графику ужасной.

Графические опции и их соответствующее воздействие также могут значительно варьироваться от игры к игре, поэтому для наилучшей производительности нужно пересмотреть специфические руководства по оптимизации. Другими словами, эти параметры «выжимают максимум» в соотношении «железо – производительность».

Тени

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

Размытие в движении

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

Глубина резкости

Глубина резкости в играх, как правило, относится к эффекту размытия вещей на заднем плане. Точно так же как и размытие в движении, этот параметр отвлекает наши глаза и создает качество, как у фильмах – это не всегда отлично смотрится. К тому же эта настройка может повлиять на производительность, особенно, если она неправильно использована. Её нужно настраивать, отталкиваясь от личных предпочтений и от того, в какую игру вы играете.

Динамическое отражение

Эта настройка во многом зависит от игры, в которую вы играете, а также от того, что для вас важно с точки зрения качества изображения. Динамические отражения являются параметрами, влияющими на отображения игроков и других движущихся объектов в лужах и на блестящих поверхностях. Это чрезвычайно усиливает производительность графики. Тем не менее, динамические отражения не всегда замечаются, а отключив их, вы увеличите ваши кадры в секунду от 30 до 50%.

Избыточная выборка сглаживания (суперсемплинг, SSAA)

С включённым суперсемплингом, игра делает кадры с более высоким разрешением, нежели разрешение самого экрана, а затем сжимает их обратно до размера дисплея. Это может улучшить вид игр, но если ваш ПК не является особым монстром (как наш любимый Large Pixel Collider), SSAA разрушит вашу производительность. В большинстве случаев, она не стоит того, чтобы её применяли, особенно, когда существует столько альтернатив суперсемплингу.

Дисклеймер

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

Определение "Уязвимых" мест вашего железа

Основываясь на системных требованиях можно определить слабые места вашей системы(если они есть).

Какие роли играют различные устройства компьютера в играх:

(В данном разделе будут приведены грубые примеры для более краткого и понятного объяснения)

Процессор

"Руководитель" вашего компьютера который "говорит" каждому устройству как работать.
Например: процессор посылает кол-во ресурсов который нужно сгенерировать и "зарисовать" видеокарте,затем когда видеокарта сделала свое дело, "обработанные ресурсы" возвращаются процессору и тот распределяет их.
Если в общем, то процессор обсчитывает расположение и взаимодействие объектов в играх.
Тут важна мощность ядер,а не их количество.

Оперативная память

Сюда складываются временные ресурсы ваших устройств на "про запас".
Например:Видеокарта сделала четкую текстуру человека во время загрузки уровня.Пока вы далеко от "владельца" этой текстуры,то будет использована более простая текстура для повышения производительности.Когда вы подойдете поближе-процессор быстро выгрузит эту самую текстуру из ОЗУ.
Тут важно общее количество гигов ОЗУ

Видеокарта

Самая важное устройство требуемое для игр.
Видеокарта берет на себя самую "грязную" работу в играх.
1)Зарисовывает текстуры
2)Высчитывает физику (не всегда)
3)Выводит картинку на экран
4)Обрабатывает шейдеры
и много других не мало важных вещей
К слову,все что вы видите на своем мониторе - это и есть труды вашей видеокарты.
Тут важны несколько параметров
1)Графический процессор видеокарты (он же GPU)
2)Объем временной видеопамяти

Постоянная память

В ПЗУ находятся все файлы игры требуемые для нормальной игры.

Базовые настройки,которые присутствуют во всех играх

Разрешение экрана

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

Режим отображения

Яркость игры

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

Поле зрения

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

Вертикальная синхронизация

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

Ограничение FPS

Всегда ставить 60 кадров,потому что FPS связан с движком игры и влияет на физику.При очень высоком значении,физика может "сходить с ума"

Детализация текстур

Этот параметр отвечает за качество всех текстур в игре.
Я считаю что этот параметр приоритетным,так как сильно и часто бросается в глаза и влияет на впечатление от игры . Если у вас мало временной памяти в видеокарте(<2 GB),то рекомендуется ставить низкие/средние настройки графики
Низкие VS Ультра↓

Детализация персонажей

Этот параметр отвечает за 2 настройки:
1)Дальность прорисовки четких текстур (Например:30,70,150 метров)
2)Определение для самого параметра "Четкие текстуры" (Например:низкое,среднее,высокое качество текстуры)
На далеком расстоянии от вас модели персонажей иметь простые текстуры (или же текстуры низкого качества),при приближение на определенное настройкой расстояние текстуры начнут прорисовываться до заданного настройкой качества.
Требует временную память видеокарты и ОЗУ.
Я считаю что данной настройкой можно пожертвовать ,я не думаю что во время игры вы будете разглядывать каждую морщинку персонажа.
Низкие VS Ультра↓

Детализация воды

Этот параметр отвечает за 3 настройки
1)Пена (эффект волн при взаимодействии с водой)
2)Блики
3)Отражения
Я считаю что этот параметр можно смело ставить на очень низкий ,так как с водой во время игры вы встречаетесь редко,а также вода сделана не убого поэтому глаза резать не будет.
Требует мощной видеокарты (из за "Пены")
Очень низкие VS Ультра↓

Детализация окружения

Детализация теней


1)Дальность прорисовки теней
2)Точность прорисовки теней
Я считаю что тени на ультра и высоких выглядят неправдоподобно.Это можно исправить при помощи технологии NVIDIA PCSS,но она в дизоноред не встроена:с
можно ставить на низкие или средние ,потому что не режут глаза.
Тени требовательны к видеокарте
Очень низкие VS Ультра↓

Качество декалей

Этот параметр отвечает за несколько настроек
1)Количество одновременно прорабатываемых декалей
2)Время до исчезновения декалей
Можно ставить на любой настройке по вашему вкусу. Любите когда при боевке остаются много мелких деталей от стен,крови,снарядов.
Требует ресурсы видеокарты
Очень низкие VS Ультра↓

Сглаживание

Данный параметр будет трудно отобразить на скриншотах,так как стим снижает разрешение скриншота. Разрешение игры - 1980x1080,Разрешение скриншота - 1904 × 1001 ¯\_(ツ)_/¯
Устраняет "ступенчатость" картинки
Крайне рекомендую ставить TXAA с резкостью <15.Влияет на впечатление от игры,с этой настройкой мир становится реалистичнее.
FXAA-никак не влияет на производителность
TXAA-идет по коэффициенту в зависимости от полузнка "резкость"