На сайте PC Gamer появился интересный разбор графических настроек в компьютерных играх, где подробно рассказано обо всех популярных инструментах, фильтрах и механизмах обработки изображения. Мы перевели его на русский язык, чтобы вы могли сами настраивать свои игры, избавляться от лагов и любоваться красивой графикой.
Итак, сегодня мы с вами разберемся, что означают те или иные графические настройки в компьютерных играх.
У Nvidia и AMD есть программное обеспечение для автоматической настройки графики согласно техническим характеристикам вашего компьютера. Со своей задачей программы справляются неплохо, но часто ручная настройка приносит куда больше пользы. Все-таки, мы ПК-бояре, у нас должна быть свобода выбора!
Если вы новичок в области игровой графики, это руководство создано специально для вас. Мы расшифруем основные пункты любого меню «Настройки графики» в ваших играх и объясним, на что они влияют. Эта информация поможет вам избавиться от лагов и фризов в любимой игре, не лишаясь красивой картинки. А владельцы мощных компьютеров поймут, как настроить самую сочную и привлекательную графику, чтобы записывать крутые видео и делать зрелищные скриншоты.
Начнем с фундаментальных понятий, а затем пройдемся по тонким настройкам в рамках нескольких разделов, посвященных анизотропной фильтрации, сглаживанию и постобработке. Для написания этого гайда мы пользовались информацией, полученной от профессионалов: Алекса Остина, дизайнера и программиста Cryptic Sea, Николаса Вайнинга, технического директора и ведущего программиста Gaslamp Games и от представителей Nvidia. Сразу отметим, что статью мы пишем простыми словами, опуская подробные технические детали, чтобы вам было легче понять механизмы работы разных технологий.
Содержание
Основы
Сглаживание (Anti-aliasing, антиалиасинг)
Билинейная и трилинейная фильтрация
Настройки качества графики
Заключение
Разрешение
Пиксель — основная единица цифрового изображения. Это цветовая точка, а разрешение — количество столбцов и рядов точек на вашем мониторе. Самые распространенные разрешения на сегодня: 1280x720 (720p), 1920x1080 (1080p), 2560x1440 (1440p) и 3840 x 2160 (4K или «Ultra-HD»). Но это для дисплеев формата 16:9. Если у вас соотношение сторон 16:10, разрешения будут слегка отличаться: 1920x1200, 2560x1600 и т.д. У ультрашироких мониторов разрешение тоже другое: 2560x1080, 3440x1440 и т.д.
Кадры в секунду (frames per second, FPS)
Если представить, что игра — это анимационный ролик, то FPS будет числом изображений, показанных за секунду. Это не то же самое, что частота обновления дисплея, измеряемая в герцах. Но эти два параметра легко сравнивать, ведь как монитор на 60 Гц обновляется 60 раз за секунду, так и игра при 60 FPS выдает именно столько кадров за тот же отрезок времени.
Чем сильнее вы загрузите видеокарту обработкой красивых, наполненных деталями игровых сцен, тем ниже будет ваш FPS. Если частота кадров окажется низкой, они будут повторяться и получится эффект подтормаживания и подвисания. Киберспортсмены охотятся за максимальном возможными показателями FPS, особенно в шутерах. А обычные пользователи зачастую довольствуются играбельными показателями — это где-то 60 кадров в секунду. Однако, мониторы на 120-144 Гц становятся более доступными, поэтому потребность в FPS тоже растет. Нет смысла играть на 120 герцах, если система тянет всего 60-70 кадров.
Так как в большинстве игр нет встроенного бенчмарка, для измерения кадров в секунду используется стороннее программное обеспечение, например, ShadowPlay или FRAPS. Однако, некоторые новые игры с DX12 и Vulkan могут некорректно работать с этими программами, чего не наблюдалось со старыми играми на DX11.
Апскейлинг и даунсэмплинг
В некоторых играх есть настройка «разрешение рендеринга» или «rendering resolution» — этот параметр позволяет поддерживать постоянное разрешение экрана, при этом настраивая разрешение, при котором воспроизводится игра. Если разрешение рендеринга игры ниже разрешения экрана, оно будет увеличено до масштабов разрешения экрана (апскейлинг). При этом картинка получится ужасной, ведь она растянется в несколько раз. С другой стороны, если визуализировать игру с большим разрешением экрана (такая опция есть, например, в Shadow of Mordor), она будет выглядеть намного лучше, но производительность станет заметно ниже (даунсэмплинг).
Производительность
На производительность больше всего влияет разрешение, поскольку оно определяет количество обрабатываемых графическим процессором пикселей. Вот почему консольные игры с разрешением 1080p, часто используют апскейлинг, чтобы воспроизводить крутые спецэффекты, сохраняя плавную частоту кадров.
Мы использовали наш Large Pixel Collider (суперкомпьютер от сайта PC Gamer), включив две из четырех доступных видеокарт GTX Titan, чтобы продемонстрировать, как сильно разрешение влияет на производительность.
Тесты проводились в бенчмарке Shadow of Mordor:
Разрешение | Средний FPS | Максимальный FPS | Минимальный FPS |
1980х720 (½ родного разрешения) | 102 | 338 | 30 |
2560х1440 (родное разрешение) | 51 | 189 | 23 |
5120х2880 (x2 родного разрешения) | 16 | 26 | 10 |
Вертикальная синхронизация и разрывы кадров
Когда цикл обновления дисплея не синхронизирован с циклом рендеринга игры, экран может обновляться в процессе переключения между готовыми кадрами. Получается эффект разрыва кадров, когда мы видим части двух или более кадров одновременно.
Одним из решений этой проблемы стала вертикальная синхронизация, которая почти всегда присутствует в настройках графики. Она не позволяет игре показывать кадр, пока дисплей не завершит цикл обновления. Это вызывает другую проблему — задержка вывода кадров, когда игра способна показать большее количество FPS, но ограничена герцовкой монитора (например, вы могли бы иметь 80 или даже 100 кадров, но монитор позволит показывать только 60).
Адаптивная вертикальная синхронизация
Бывает и так, что частота кадров игры падает ниже частоты обновления монитора. Если частота кадров игры превышена, вертикальная синхронизация привязывает ее к частоте обновления монитора и она, например, на дисплее с 60 Гц не превысит 60 кадров. А вот когда частота кадров падает ниже частоты обновления монитора, вертикальная синхронизация привязывает ее к другому синхронизированному значению, например, 30 FPS. Если частота кадров постоянно колеблется выше и ниже частоты обновления, появляются подтормаживания.
Чтобы решить эту проблему, адаптивная вертикальная синхронизация от Nvidia отключает синхронизацию каждый раз, когда частота кадров падает ниже частоты обновления. Эту функцию можно включить в панели управления Nvidia — она обязательна для тех, кто постоянно включает вертикальную синхронизацию.
Технологии G-sync и FreeSync
Новые технологии помогают разобраться со многими проблемами, которые зачастую основаны на том, что у дисплеев фиксированная частота обновления. Но если частоту дисплея можно было бы изменять в зависимости от FPS, пропали бы разрывы кадров и подтормаживания. Такие технологии уже есть, но для них нужны совместимые видеокарта и дисплей. У Nvidia есть технология G-sync, а у AMD — FreeSync. Если ваш монитор поддерживает одну из них и она подходит к установленной видеокарте, проблемы решены.
Сглаживание (Anti-aliasing, антиалиасинг)
Инструментов для этого достаточно, но легче объяснить на примере суперсэмплинга (SSAA). Эта технология отрисовывает кадры с более высоким разрешением, чем у экрана, а затем сжимает их обратно до его размера. На предыдущей странице вы могли видеть эффект от сглаживания при уменьшении частоты в Shadow of Mordor с 5120х2880 до 1440p.
Взгляните на пиксель черепичной крыши. Он оранжевого цвета. Тут же и пиксель голубоватого неба. Находясь рядом, они создают жесткий зубчатый переход от крыши к небу. Но если визуализировать сцену с четырехкратным разрешением, вместо одного пикселя оранжевой крыши на этом же месте будут четыре пикселя. Некоторые из них будут оранжевыми, некоторые «небесными». Стоит взять значение всех четырех пикселей, как получится нечто среднее — если по такому принципу построить всю сцену, переходы станут мягче и «эффект лестницы» пропадет.
Такова суть технологии. Но, она требует от системы очень много ресурсов. Ей приходится отрисовывать каждый кадр с разрешением в два или более раз больше, чем оригинальное разрешение экрана. Даже в случае с нашими топовыми видеокартами суперсэмплинг с разрешением 2560х1440 кажется нецелесообразным. К счастью, есть альтернативы:
Мультисэмплинг (MSAA): Эффективнее суперсэмплинга, но все еще прожорлив. В старых играх он был стандартом, а его суть объясняется в видео, которое вы увидите ниже.
Усовершенствованный мультисэмплинг (CSAA): более эффективная версия MSAA от Nvidia для ее видеокарт.
Усовершенствованный мультисэмплинг (CFAA): тоже апгрейд MSAA, только от компании AMD для ее карточек.
Метод быстрого приближения (FXAA): вместо анализа каждого отдельного пикселя, FXAA накладывается в качестве фильтра постобработки на всю сцену целиком после ее рендеринга. FXAA также захватывает места, которые пропускаются при включении MSAA. Хотя сам метод быстрого приближения тоже пропускает много неровностей.
Морфологический метод (MLAA): он свойственен видеокартам AMD и тоже пропускает этап рендеринга. MLAA обрабатывает кадр, выискивая алиасинг и сглаживая его. Как нам объяснил Николас Вайнинг: «Морфологическое сглаживание работает с морфологией (паттернами) неровностей на краях моделей; оно вычисляет оптимальный способ удаления лесенок для каждого вида неровностей путем разбиения краев и зубцов на небольшие наборы морфологических операторов. А затем использует специальные типы смешивания для каждого отдельного набора». Включить MLAA можно в панели управления Catalyst.
Улучшенное субпиксельное морфологическое сглаживание (SMAA): еще один вид постобработки, в котором сочетаются детали MLAA, MSAA и SSAA. Такой метод можно совмещать со SweetFX, а многие современные игры поддерживают его изначально.
Временное сглаживание (TAA или TXAA): TXAA изначально разрабатывалась для графических процессоров Nvidia уровня Kepler и более поздних. Но затем появились не настолько специфические формы временного сглаживания, которые обычно обозначаются, как TAA. При таком способе следующий кадр сравнивается с предыдущим, после чего обнаруживаются и устраняются неровности. Происходит это при поддержке разных фильтров, которые уменьшают «ползающую лесенку» в движении.
Николас Вайнинг объясняет: «Идея TAA заключается в ожидании того, что два идущих друг за другом кадра будут очень похожи, ведь пользователь в игре двигается не настолько быстро. Поэтому раз объекты на экране переместились несильно, мы можем получить данные из предыдущего кадра, чтобы дополнить участки, нуждающиеся в сглаживании».
Многокадровое сглаживание (MFAA): появилось с релизом графических процессоров Maxwell от Nvidia. Тогда как MSAA работает с устойчивыми шаблонами, MFAA позволяет их программировать. Представители Nvidia подробно объясняют технологию в видео ниже (о нем мы уже говорили раньше и очень скоро вы его увидите).
Суперсэмплинг с глубоким обучением (DLSS): новейшая технология Nvidia, доступная лишь в некоторых играх и с видеокартами GeForce RTX. По словам компании: «DLSS использует нейронную сеть для определения многомерных особенностей визуализированной сцены и интеллектуального объединения деталей из нескольких кадров для создания высококачественного финального изображения. DLSS использует меньше сэмплов, чем TAA, при этом избегая алгоритмических трудностей с прозрачностями и другими сложными элементами сцен».
Другими словами, DLSS справляется с задачей лучше и эффективнее, чем TAA, но технологию нужно отдельно готовить к каждой игре. Если не обучить ее должным образом, многие места окажутся размытыми.
Что означают цифры?
В настройках сглаживания вы часто видите значения: 2x, 4x, 8x и т.д. Эти цифры рассказывают о количестве используемых образцов цвета и, как правило, чем больше число, тем точнее будет сглаживание (при этом оно потребует больше системных ресурсов).
Но есть исключения. Так, CSAA пытается достичь сглаживания на уровне MSAA с меньшим количеством образцов цвета. Поэтому 8xCSAA фактически использует только четыре образца цвета. Есть и 8QxCSAA — этот способ сглаживания увеличивает количество образцов цвета до восьми, чтобы повысить точность.
Производительность
Мы использовали бенчмарк Batman: Arkham City, чтобы протестировать несколько старых методов сглаживания: MSAA, FXAA и TXAA. Результаты, как и ожидалось, показывают, что FXAA требует меньше всего ресурсов, в то время как MSAA и TXAA сильно влияют на среднюю частоту кадров.
Результаты тестирования сглаживания в Batman: Arkham City (на двух Nvidia GTX Titan SLI):
Средний FPS | Максимальный FPS | Минимальный FPS | |
Без сглаживания | 161 | 224 | 57 |
MSAA 8x | 84 | 166 | 44 |
FXAA (высоко) | 154 | 204 | 60 |
TXAA (высоко) | 98 | 118 | 67 |
Какой метод сглаживания использовать?
Зависит от вашей видеокарты и личных предпочтений касательно производительности и визуального качества. Однако, если частота кадров не проблема, выбор очевиден: FXAA эффективнее всего. Если же у вас видеокарта RTX и ваша игра поддерживает DLSS — пробуйте, ведь не зря же вы заплатили за новую и очень эффективную технологию. В старых играх придется покрутить настройки туда-сюда, чтобы подобрать идеальную комбинацию производительности и привлекательного внешнего вида. Если ваша система достаточно мощная, можете протестировать суперсэмплинг вместо встроенных в игры опций.
Переопределение настроек сглаживания
Теоретически, графические настройки в играх не должны иметь значения. Вы можете просто открыть панель управления Nvidia и AMD и изменить там все на свое усмотрение. К сожалению, на деле все работает иначе. Несмотря на то, что вы можете переопределить настройки для любой игры, положительный результат не гарантирован.
Николас Вайнинг объясняет: «Очень часто переопределение настроек не работает из-за отложенного рендеринга, нарушающего работу многих распространенных методов сглаживания». Алекс Остин из Cryptic Sea тоже отметил, что некоторые методы сглаживания не работают с настройками панелей видеокарт. Так что, нужно тестировать. Попробуйте отключить сглаживание в игре и установите его в панели управления, потом зайдите обратно в игру и проверьте результат.
Мы заметили, что MLAA от AMD работает лучше из панели управления. Но важно отметить, что это фильтр пост-обработки, который применяется ко всем объектам сцены. Поэтому он может исправить неровные края текстур, но при этом захватить и кое-что лишнее. Пример тому, меню в BioShock Infinite, буквы которого стали слегка сглаженными.
Суперсэмплинг с использованием технологии динамического суперразрешения (DSR) от Nvidia или технологии виртуального сверхвысокого разрешения от AMD более надежен. У Nvidia DSR включается в разделе «Управление настройками 3D», где его можно выставить вплоть до 4x. А виртуальное сверхвысокое разрешение у AMD включается во вкладке «Дисплей». Активировав любую из этих настроек, вы запустите игру в более высоком разрешении, которое будет уменьшено до размеров разрешения экрана. Получится красиво, но ресурсозатратно. Кроме того, могут появиться проблемы с интерфейсом в некоторых играх или технология вообще не захочет работать.
Билинейная и трилинейная фильтрация
Появилось MIP-текстурирование и вместе с ним возникла новая проблема. Допустим, вы стоите на поверхности из треснувшего бетона. Если посмотрите прямо вниз, увидите большую, детальную бетонную текстуру. Но когда посмотрите вдаль, где дорога уходит в горизонт, вы увидите лишь пару пикселей, и особая детализация там не нужна. Поэтому, чтобы повысить производительность без потери качества, игра подгрузит текстуру более низкого разрешения, именуемую MIP-текстурой.
Так вот, когда мы рассматриваем нашу дорогу, не особенно хочется видеть, где одно MIP-изображение заканчивается, а другое начинается, потому что их качество различается и переход будет резать глаз. Билинейная фильтрация не интерполирует (не сглаживает) переходы, поэтому с этим типом фильтрации они заметны. Проблема решается при помощи трилинейной фильтрации, сглаживающей переход между MIP-текстурами, используя сэмплы каждой из них.
Анизотропная фильтрация
Трилинейная фильтрация работает, но текстуры все еще кажутся размытыми. Вот для чего была изобретена анизотропная фильтрация, которая значительно улучшает качество текстур при взгляде под углом.
Чтобы понять, как это работает, представьте квадратное окно — пиксель трехмерной модели — с кирпичной стеной прямо за ним в качестве текстуры. Через окно пробивается свет, создавая на стене квадратную форму. Это наша область сэмплинга, и она одинакова во всех направлениях. По такой технологии берутся сэмплы в случае с билинейной и трилинейной фильтрациями.
Если модель находится прямо перед вами, перпендикулярно взгляду — результат получится вменяемым. А если вы смотрите на нее под углом? Получается размытость. А теперь представьте, что текстура кирпичной стены отклонена от окна. Луч света превратится в длинную трапецию, покрывающую гораздо больше вертикального пространства на текстуре, чем горизонтального. Это та область, которую нужно сэмплировать для пикселя. Примерно так, грубо говоря, работает анизотропная фильтрация. Она масштабирует MIP-текстуры в одном направлении соответственно углу, под которым вы наблюдаете трехмерный объект.
Концептуально эту технологию не так просто понять. Если после нашего объяснения у вас все еще остались вопросы, лучше взгляните на объяснение самой Nvidia, где указана более подробная информация по теме (на английском языке).
А здесь что означают цифры?
Анизотропная фильтрация в настройках современных игр встречается не так часто, но там, где она есть, ее можно выставить в рамках от 2х до 16х. Nvidia объясняет, что эти цифры относятся к крутизне угла, к которому будет применена фильтрация:
«Анизотропная фильтрация функционирует с уровнями анизотропии между 1 и 16, определяя максимальную степень, с которой может масштабироваться MIP-текстура. Но она обычно предлагается пользователю в двухкратном увеличении: 2х, 4х, 8х и 16х. Разница между этими настройками в максимальном угле, под которым фильтрация будет работать с текстурой. Например, 4х будет фильтровать текстуры под углами вдвое более крутыми, чем 2х, но при этом начнет применять 2х фильтрацию для текстур, угол которых находится в диапазоне 2х, для оптимизации производительности. Это позволит снизить нагрузку на систему даже при максимальных настройках анизотропной фильтрации».
Производительность
Анизотропная фильтрация не так сильно влияет на производительность, как сглаживание, поэтому в наши дни ее редко добавляют в меню настроек (она включена по умолчанию). Используя бенчмарк BioShock Infinite, мы заметили снижение среднего FPS на всего 6 кадров в сравнении между билинейной и анизотропной фильтрациями. Это мизерная разница, учитывая значительное улучшение качества картинки. Ведь высокое качество текстур не имеет смысла при плохой фильтрации.
Настройки качества графики
Уменьшение и увеличение качества текстур значительно влияет на производительность и визуальное качество. В бенчмарке BioShock Infinite мы выставили все настройки на максимум и меняли лишь качество текстур. Вот результаты (при использовании двух Nvidia GTX Titan SLI):
Качество текстур | Средний FPS | Максимальный FPS | Минимальный FPS |
Низкие настройки | 103 | 295 | 30 |
Средние настройки | 101 | 180 | 20 |
Высокие настройки | 92 | 178 | 15 |
Заметили скачок между низкими и высокими настройками? Больше десяти кадров в секунду. Кажется, что это не так много. Но на других системах разница может быть куда больше, ведь наш тестовый стенд достаточно мощный. Не существует быстрого способа определить идеальные настройки качества графики для вашей системы. Это тот случай, когда нужно тестировать ручками. Рекомендуем сначала опробовать советы ПО от Nvidia и AMD, а затем повысить качество текстур, освещения и теней, проверяя средний FPS.
Глобальное затенение (Ambient occlusion)
Глобальное освещение равномерно распределяется по каждому объекту сцены. Например, солнечным днем, когда даже в тени рассеивается определенное количество света. Для придания глубины сцене технология объединяется с направленным освещением, ведь без этого картинка получается плоской.
Глобальное затенение пытается улучшить этот эффект, определяя, какие части сцены должны освещаться сильнее или меньше. Оно не отбрасывает жесткие тени, как источник направленного света, а скорее затемняет общий интерьер и щели, добавляя мягкое затенение.
SSAO (преграждение окружающего света в экранном пространстве)
Почти то же самое, что и глобальное затенение (ambient occlusion), используемое при рендеринге в реальном времени. За последние годы эта технология стала обычным явлением в играх, а впервые ее можно было увидеть в Crysis. Иногда технология выглядит глуповато, словно окружающие предметы «сияют» темнотой. В других случаях она идеально добавляет сцене глубину. Все основные движки поддерживают SSAO, а реализация технологии зависит от игры и ее разработчиков.
Есть также улучшенные вариации SSAO в виде HBAO+ и HDAO.
Технология HDRR (High dynamic range rendering — высокодинамичный диапазон рендеринга)
HDR был в моде среди фотографов несколько лет назад. Диапазон здесь относится к яркости изображения и определяет насколько темным или ярким оно может быть. Цель технологии в том, чтобы самые темные области сцены были такими же подробными и различимыми, как и яркие. Изображение с низким динамическим диапазоном хорошо различимо в светлых участках, а в тени вся детализация теряется, или наоборот.
В прошлом диапазон темного и светлого в играх был ограничен восемью битами (256 значений). Но с появлением DirectX 10 стал возможен 128-битный HDRR. Хотя, технология все еще ограничена контрастностью дисплеев. Не существует стандартизированного метода измерения контрастности, но LED-мониторы зачастую выдают контрастность 1000:1.
Bloom-эффект
Печально известный своей излишней популярностью у игровых разработчиков, bloom-эффект пытается имитировать то, как яркий свет распространяется по краям моделей, делая источники света ярче, чем они есть на самом деле. Это работает, но зачастую bloom реализуют настолько криво, что обычные настольные лампы светятся сильнее ядерного взрыва. К счастью, в большинстве игр его можно отключить.
Ниже можете взглянуть на скриншот из игры Syndicate — ярчайший (в прямом смысле) пример кривой реализации bloom-эффекта.
Размытие (motion blur)
Все очень просто — это фильтр, имитирующий резкое движение кадра, словно в фильме. Многие геймеры предпочитают его отключать. И не только потому, что он влияет на производительность, но и из соображений комфорта. Размытие иногда красиво выглядит, например, в гоночных играх (если оно правильно реализовано). Но обычно мы его выключаем.
Глубина резкости (Depth of field, DOF)
Для фотографов глубина резкости означает расстояние между ближайшей и самой удаленной точками, которые появляются в фокусе. Например, если мы снимаем портрет с небольшим DOF, лицо человека будет резким, а волосы сзади начнут расплываться и задний план окажется полностью размытым. С другой стороны, если DOF окажется слишком большим, нос человека будет детализирован на том же уровне, что и все объекты позади него — не слишком красиво.
В играх DOF обычно относится только к эффекту размытия на заднем плане. Как и motion blur, фильтр делает вид, что наши «глаза» в игре — это камеры, и создает качество изображения, похожее на фильм. В зависимости от реализации, DOF может значительно повлиять на производительность, особенно, если у вас средняя или слабая система.
Заключение
По материалам сайта PC Gamer