На какво влияят графичните настройки в 3D игрите?

 

В съвременните игри се използват все повече графични ефекти и технологии за подобряване на картината. При това разработчиците обикновено не се затормозяват да обясняват какво точно правят. А когато се играе с не най-производителния компютър, често се налага да се жертват някои възможности. Затова в следващите редове ще опитаме да разгледаме какво представляват най-разпространените графични функции, за да се разбере по-добре как могат да се освободят ресурси на PC компютъра с минимални последствия за графичното изображение.

 

Анизотропно филтриране

Когато произволна текстура се изобразява на монитора не в изходния й размер, в нея е необходимо да се добавят допълнителни пиксели или обратното - да се извадят излишните. За тази цел се използва техника, наричана филтриране.

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

 

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

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

Анизотропното филтриране има само една настройка – коефициент на филтриране (2x, 4x, 8x, 16x). Колкото е по-висок, толкова по-ясно и естествено изглежда текстурата. Обикновено при големите стойности малки артефакти са видими само при най-отдалечените пиксели на наклонените текстури. Стойностите 4x и 8x са напълно достатъчни за избавяне на лавината от визуални изкривявания. Интересното е, че при прехода от 8х към 16х снижаването на производителността ще бъде много слабо даже и на теория, тъй като допълнителната обработка, която се изисква, е само за малък брой от предварително филтрираните пиксели.

Шейдъри

Те са малки програми, които могат да извършват определени манипулации с 3D сцената, като например промяна на осветлението, прилагане на текстури, допълнителна постобработка, както и други ефекти.

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

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

Шейдърите работят много продуктивно в паралелен режим и именно затова в съвременните графични карти е налично такова голямо количество потокови процесори, които се наричат също и шейдъри. Например при GeForce GTX580 от тях има цели 512 броя.

Parallax mapping

Това е модифицирана версия на известнaта техника, наречена bumpmapping и използвана за придаване релефност на текстурите. Parallax mapping не създава 3D обекти в обичайния смисъл на тази дума. Така например под или стена в игрова сцена ще изглеждат релефни, докато в крайна сметка си остават напълно плоски. Този ефект се постига само за сметка на манипулиране на текстурите.

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

 

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

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

Anti-Aliasing

До появата на DirectX 8 заглаждането в игрите се осъществяваше чрез метода SuperSampling Anti-Aliasing (SSAA), известен също и като Full-Scene Anti-Aliasing (FSAA). Неговото използване водеше до значителен спад в производителността, затова и с излизането на DX8 се отказаха от него, като го замениха с Multisample Anti-Aliasing (MSAA). Независимо че този метод даваше по-лоши визуални резултати, той предлагаше значително по-висока производителност от предшественика си. Оттогава се появиха и по-усъвършенствани алгоритми, като например CSAA.

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

 

Като се вземе предвид, че през последните години бързодействието на видеокартите значително се увеличи, то съвсем не е случаен фактът, че AMD и NVIDIA отново върнаха в техните ускорители поддръжката на технологията за заглаждане SSAA. Независимо от това, използването й в съвременни игри няма да се получи, защото броят на кадрите пак ще е доста нисък. SSAA ще бъде ефективен само в игри от предишни години, които имат скромен набор от настройки на другите графични параметри. AMD реализираха поддръжка на SSAA само за DX9 игри, а при NVIDIA SSAA функционира даже и в режим DX10 и DX11.

Принципът на заглаждане е доста прост. До извеждането на кадъра на екрана определената графична информация се пресмята не с естествената си екранна резолюция, а при увеличена и кратна на две. След това резултатът се намалява до размера на необходимата резолюция и по този начин „назъбването“ по ръбовете на обектите става по-малко забележимо. Колкото са по-големи изходното изображение и коефициентът на изглаждане, толкова по-малки са назъбванията на контура на моделите. MSAA за разлика от FSAA заглажда само края на обектите, което значително икономисва ресурси на графичната карта, но при тази техника могат да се получат артефакти вътре в полигоните.

По-рано Anti-Aliasing винаги съществено намаляваше броя на кадрите в игрите, докато сега спадът на кадрите е незначителен, а понякога даже и липсва.

Теселация

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

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

 

На пръв поглед теселацията може да се сбърка с Parallax mapping. Това обаче са съвсем различни ефекти, тъй като теселацията реално изменя геометричната форма на предметите, а не просто симулира релефност. В допълнение тя може да се прилага практически за всякакви обекти, докато при Parallax mapping това е силно ограничено.

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

За да могат игрите да използват теселация, е необходима видеокарта с поддръжка на DirectX 11.

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

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

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

 

Ако честотата на опресняване на монитора е 60 Hz и видеокартата успява да пресмята 3D сцената като минимум с такъв брой кадри, то при всяко обновяване на монитора ще се изобразява нов кадър. С други думи, с интервал от 16,6 ms потребителят ще вижда напълно обновена сцена на екрана. Следва да се помни, че при включване на вертикалната синхронизация броят на кадрите в игрите не може да превишава честотата на вертикална синхронизация на монитора. Ако броят кадри е по-нисък от нея (в нашия случай 60 Hz), то за избягване на загуба на производителност е необходимо да се включи тройното буфериране.

Главната цел на вертикалната синхронизация е да премахне ефекта на изместения кадър, възникващ, когато долната част на дисплея е запълнена с един кадър, а горната - с друг, относително изместен спрямо предходния.

Post-processing

Това е общо название на всички ефекти, които се прилагат на вече готовата и напълно пресметната 3D сцена (с други думи, превърната в двумерно изображение) за подобряване качеството на финалната картина. Постпроцесингът използва пикселни шейдъри и към него се прибягва в случаите, когато за допълнителните ефекти се изисква пълна информация за цялата сцена. На изолирани 3D обекти тази техника не може да се прилага, без да се появят в кадъра артефакти.

High dynamic range (HDR)

Ефект, често използван в игрални сцени с контрастно осветяване. Ако една област на екрана се явява много ярка, а друга - затъмнена, много от детайлите в сцената се губят и тя изглежда монотонна. HDR добавя по-голяма градация в кадъра и позволява да се детайлизира сцената. За неговото прилагане е необходимо да се работи с по-широк диапазон на оттенъци, отколкото може да осигури стандартната 24-битова точност. Предварителните пресмятания се правят с повишена точност (64 bit или 96 bit) и само на финалния стадий на изображението се осъществяват под 24 бита.

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

 

HDR често се използва за реализация на ефекта приспособяване на зрението, когато героят в играта излиза от тъмен тунел на добре осветено пространство.

Bloom

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

Bloom симулира ефект, който може да се наблюдава при снимане на изключително ярки сцени с традиционните камери. В полученото изображение интензивната светлина заема по-голям обем, отколкото е необходимо, и обектите „излизат“ от нея, макар че е зад тях. При използването на Bloom в границите на обектите могат да се появят допълнителни артефакти като цветни линии.

Film Grain

Зърнистост – артефакт, възникващ на аналоговите телевизори при лош сигнал, на старите магнитни видеокасети или на фотографиите (в частност и при цифровите изображения, направени при недостатъчна осветеност). Играчите често забраняват този ефект, защото до известна степен разваля изображението. За да разберете този ефект, може да стартирате играта Mass Effect във всеки от двата режима. В някои „ужаси“, като например Silent Hill, шумът на екрана съвсем обратно на горния пример добавя атмосфера.

Motion Blur

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

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

Ефектът също така може да помогне (ако е необходимо) да се замаскира ниската скорост на кадрите и да добави плавност в процеса на игра.

SSAO

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

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

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

Cel shading

Игри с ефекта Cel shading започнаха да се появяват след 2000 г., като най-напред бяха при конзолите. На PC компютрите тази технология стана популярна след две години, по-точно след излизането на нашумелия шутър XIII. С помощта на Cel shading всеки кадър практически се превръща в рисунка, направена на ръка, или във фрагмент от детски анимационен филм.

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

В подобен стил се създават комикси, затова тази техника често се използва в игри, имащи отношение към тях. От последните реализации може да се спомене Borderlands, където използването на Cel shading се забелязва и с невъоръжено око.

Особености на технологията се явяват използването на ограничен набор от цветове, а също така и отсъствието на плавни градиенти. Названието на ефекта произлиза от думата Cel (Celluloid), тоест от прозрачния материал, на който се рисуват анимационните филми.

Depth of field

Depth of field (DOF) е разстоянието между близката и далечната граници на пространството, в пределите на което всички обекти ще бъдат на фокус, докато останалата част от сцената остава размазана и неясна.

 


На какво влияят графичните настройки в 3D игрите?

© Мариян Славов, pcworld

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

Влияние на ефектите върху РС производителността

За да се разбере как включването на някои от ефектите влияе върху производителността, ние използвахме тестовия софтуер Heaven DX11 Benchmark 2,5. Всички тестове са проведени на система Intel Core 2 Duo E6300, GeFirce GTX460 и в разделителна способност 1280x800 (изключение беше тестът за вертикалната синхронизация – 1680х1050).

Както вече стана дума, анизотропното филтриране практически не оказа влияние на броя кадри за секунда. Разликата между включено и изключено анизотропно филтриране бе едва 2 кадъра за секунда, затова и препоръчваме тази настройка винаги да остава включена на максимална стойност.

Заглаждането в Heaven Benchmark намали броя кадри съществено, даже повече, отколкото очаквахме, особено в най-тежките режими – 8x. Въпреки това за осезателно подобрение на картината е достатъчен и 2x режим и затова съветваме да избирате именно този вариант, ако е на по-висок, играта е некомфортна.

Теселацията за разлика от предишните параметри може да приема произволна стойност във всяка отделна игра. Без нея в Heaven Benchmark картината съществено се влошава, а на максимална стойност става нереалистична, затова трябва да се установява междинна стойност.

За вертикалната синхронизация беше избрана по-висока резолюция, така че броят кадри (fps) да не се ограничава от вертикалната честота на екрана. Както се и предполагаше, количеството кадри по време на всеки един тест при включен Vsync се държеше стабилно със стойности от 20 или 30 кадъра за секунда. Това е свързано с факта, че те се извеждат едновременно с обновяването на екрана, и при честота на опресняване от 60 Hz това става не на всеки импулс, а на всеки втори или трети. При изключване на V-sync броят на кадрите се увеличи, но на екрана се появиха характерните артефакти. Тройното буфериране не оказа никакво положително влияние за по-голяма плавност на сцените. Възможно е явлението да е свързано с това, че в настройките на драйвъра на видеокартата няма опция за принудително изключване на буферирането, а обичайното деактивиране се игнорира от бенчмарковете и те продължават да използват тази функция.

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

Twitter icon Facebook icon
Този сайт използва бисквитки (cookies). Ако желаете можете да научите повече тук.