+38 (093)  990-30-70

Новости

Королевский бал у Вас дома

Налаштування графіки в іграх: на що вони впливають?

У сучасних іграх використовується все більше графічних ефектів і технологій, що поліпшують картинку. При цьому розробники зазвичай не обтяжують себе поясненням, що ж саме вони роблять. Коли в наявності не самий продуктивний комп'ютер, частиною можливостей доводиться жертвувати. Спробуємо розглянути, що позначають найбільш поширені графічні опції, щоб краще розуміти, як звільнити ресурси ПК з мінімальними наслідками для графіки.

анізотропна фільтрація
Коли будь-яка текстура відображається на моніторі не в своєму початковому розмірі, в неї необхідно вставляти додаткові пікселі або, навпаки, прибирати зайві. Для цього застосовується техніка, звана фільтрацією.

трилинейная   анізотропна
трилинейная

анізотропна

Білінійна фільтрація є найпростішим алгоритмом і вимагає менше обчислювальної потужності, однак і дає найгірший результат. Трилинейная додає чіткості, але як і раніше генерує артефакти. Найбільш просунутим способом, усуває помітні спотворення на об'єктах, сильно нахилених щодо камери, вважається анізотропна фільтрація. На відміну від двох попередніх методів вона успішно бореться з ефектом ступінчастості (коли одні частини текстури розмиваються сильніше інших, і межа між ними стає явно помітною). При використанні билинейной або трилинейной фільтрації зі збільшенням відстані текстура стає все більш розмитою, анізотропна ж цього недоліку позбавлена.

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

Анізотропна фільтрація має лише одну настройку коефіцієнт фільтрації (2x, 4x, 8x, 16x). Чим він вищий, тим чіткіше і природніше виглядають текстури. Зазвичай при високому значенні невеликі артефакти помітні лише на самих віддалених пікселах нахилених текстур. Значний 4x і 8x, як правило, цілком достатньо для позбавлення від левової частки візуальних спотворень. Цікаво, що при переході від 8x до 16x зниження продуктивності буде досить слабким навіть в теорії, оскільки додаткова обробка знадобиться лише для малого числа які раніше не фільтрованих пікселів.

шейдери
Шейдери це невеликі програми, які можуть виробляти певні маніпуляції з 3D-сценою, наприклад, змінювати освітленість, накладати текстуру, додавати постобработку і інші ефекти.

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

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

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

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 off   AA on AA off AA on

З огляду на, що за останні кілька років швидкодію відеокарт помітно збільшилася, як 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 біта.

Попередні прорахунки відбуваються в підвищеної точності (64 або 96 біт), і лише на фінальній стадії зображення підганяється під 24 біта

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

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

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

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

Film Grain
Зернистість артефакт, що виникає в аналоговому ТБ при поганому сигналі, на старих магнітних відеокасетах або фотографіях (зокрема, цифрових зображеннях, зроблених при недостатньому освітленні). Гравці часто відключають даний ефект, оскільки він певною мірою псує картинку, а не покращує її. Щоб зрозуміти це, можна запустити Mass Effect в кожному з режимів. У деяких «фільмах жахів», наприклад Silent Hill, шум на екрані, навпаки, додає атмосферности.

Motion Blur
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 р, причому в першу чергу вони з'явилися на консолях. На ПК по-справжньому популярною ця техніка стала лише через пару років. За допомогою 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 кадрів / с.

З мінімальною втратою якості (1280Ч800; AA 2x; AF 16x, Tessellation Normal) можна домогтися більш прийнятного показника в 45 кадрів / с

джерело