Ką reiškia vsync žaidimuose. Grafikos nustatymai žaidimuose: ką jie įtakoja? Vertikalaus sinchronizavimo prijungimas

Kas yra vertikalus sinchronizavimas žaidimuose? Ši funkcija yra atsakinga už teisingą žaidimų rodymą standartiniuose LCD monitoriuose, kurių dažnis yra 60 Hz. Kai įjungta, kadrų dažnis ribojamas iki 60 Hz, o ekrane nerodomi jokie trukdžiai. Jį išjungus padidės kadrų dažnis, tačiau tuo pat metu atsiras ekrano plyšimo efektas.

V-sync yra gana prieštaringa žaidimų tema. Viena vertus, dėl vizualinio komforto žaidimo eiga atrodo, kad tai labai reikalinga, darant prielaidą, kad turite standartinį LCD monitorių.

Jo dėka žaidimo metu ekrane neatsiranda klaidų, vaizdas yra stabilus ir neturi spragų. Neigiama yra tai, kad kadrų dažnis yra ribojamas iki 60 Hz, todėl reiklesni žaidėjai gali patirti įvesties vėlavimą, tai yra, judant žaidime su pele, gali atsirasti nedidelis vėlavimas (gali būti prilyginamas dirbtiniam pelės judėjimo išlyginimui).

Vertikalaus sinchronizavimo išjungimas taip pat turi privalumų ir trūkumų. Visų pirma, suteikiamas neribotas FPS kadrų dažnis ir taip visiškai pašalinamas minėtas įvesties atsilikimas. Tai patogu žaidimams. Counter-Strike tipas kur svarbus reagavimas ir tikslumas. Judėjimas ir taikymas labai aiškus, dinamiškas, kiekvienas pelės judesys atliekamas labai tiksliai. Kai kuriais atvejais galime gauti daugiau FPS greitis, kadangi V-Sync, priklausomai nuo vaizdo plokštės, gali šiek tiek sumažinti aparatūros našumą (skirtumas apie 3-5 FPS). Deja, trūkumas yra tas, kad be vertikalaus sinchronizavimo gauname ekrano plyšimo efektą. Sukant ar keičiant judesį žaidime pastebime, kad vaizdas suplyšta į dvi ar tris horizontalias dalis.

Įjungti arba išjungti V-Sync?

Ar reikalingas vertikalus sinchronizavimas? Viskas priklauso nuo mūsų individualių pageidavimų ir to, ko norime gauti. Kelių žaidėjų FPS žaidimuose rekomenduojama išjungti vertikalųjį sinchronizavimą, kad būtų pagerintas taikymo tikslumas. Ekrano plyšimo efektas, kaip taisyklė, nėra toks pastebimas, o pripratę net nepastebėsime.

Savo ruožtu į istorijų žaidimai Galite saugiai įjungti V-Sync. Čia didelis tikslumas nėra toks svarbus, pirmuoju smuiku griežia aplinka, vizualinis komfortas, todėl reikėtų lažintis dėl geros kokybės.

Vertikalus sinchronizavimas paprastai gali būti įjungtas arba išjungtas žaidimo grafikos nustatymuose. Bet jei tokios funkcijos ten nerasime, galite ją rankiniu būdu išjungti vaizdo plokštės nustatymuose - ir visiems, ir tik pasirinktoms programoms.

Vertikalus sinchronizavimas NVIDIA vaizdo plokštėse

„GeForce“ vaizdo plokštėse ši funkcija yra „Nvidia“ valdymo skydelyje. Spustelėkite dešiniuoju pelės mygtuku spustelėkite pelę Windows 10 darbalaukyje, tada pasirinkite Nvidia Control Panel.

Šoninėje juostoje skiltyje 3D nustatymai pasirinkite skirtuką 3D nustatymų valdikliai. Galimi nustatymai bus rodomi dešinėje.

Nustatymai yra suskirstyti į du skirtukus - visuotinį ir programos. Pirmame skirtuke galite nustatyti visų žaidimų parinktis ir, pavyzdžiui, įjungti ar išjungti vertikalųjį sinchronizavimą kiekviename žaidime. Tuo tarpu antrame skirtuke galite nustatyti tuos pačius parametrus, bet atskirai kiekvienam žaidimui atskirai.

Pasirinkite visuotinį arba programos skirtuką, tada sąraše ieškokite parinkties „Vertikalus sinchronizavimas“. Šalia yra išskleidžiamasis laukas – pasirenkame priverstinį išjungti arba įjungti vertikalią sinchronizaciją.

V-Sync ant AMD grafika

AMD vaizdo plokščių atveju ji atrodo lygiai taip pat, kaip ir Nvidia. Dešiniuoju pelės mygtuku spustelėkite darbalaukį ir eikite į Panel Catalyst Control Center.

Tada kairėje atidarykite skirtuką „Žaidimai“ ir pasirinkite „3D programų nustatymai“. Dešinėje bus rodomas galimų parinkčių sąrašas, kurias galima priverstinai įjungti iš AMD Radeon grafikos nustatymų padėties. Kai esame skirtuke „Sistemos nustatymai“, pasirenkame visiems.

Jei reikia nustatyti kiekvieno žaidimo parametrus atskirai, tuomet turėtumėte spustelėti mygtuką „Pridėti“ ir nurodyti EXE failą. Jis bus įtrauktas į sąrašą kaip nauja žymė, kurią perjungę galėsite nustatyti tik šio žaidimo parametrus.

Pasirinkę skirtuką su pridėta programa arba sistemos parametrais (bendrieji), tada sąraše raskite parinktį „Laukti vertikalaus atnaujinimo“. Atsiras pasirinkimo laukelis, kuriame galime priverstinai įjungti arba išjungti šią parinktį.

„V-Sync“ su integruota „Intel HD Graphics“.

Jei naudojate integruotą „Intel HD Graphics“ lustą, taip pat yra valdymo pultas. Jis turėtų būti pasiekiamas dešiniuoju pelės mygtuku spustelėjus darbalaukį arba naudojant klavišų kombinaciją Ctrl+Alt+F12.

„Intel“ skydelyje eikite į skirtuką „Nustatymų režimas“ – „Valdymo skydas“ – „3D grafika“, tada – į vartotojo nustatymus.

Čia randame lauką su vertikalia sinchronizacija Vertikali sinchronizacija. Jį galite įjungti priverstinai, nustatydami reikšmę į „Įjungta“ arba „Programos nustatymai“. Deja, „Intel HD“ kortelės parinktyse nėra priverstinio išjungimo funkcijos – galite įjungti tik „V-Sync“. Kadangi vaizdo plokštėje negalima išjungti vertikalios sinchronizacijos, tai galima padaryti tik paties žaidimo nustatymuose.

Beveik visuose šiuolaikiniai žaidimai grafikos nustatymuose matote stulpelį „vertikali sinchronizacija“. Ir vis daugiau žaidėjų turi klausimų Ar šis sinchronizavimas naudingas?, jo poveikis ir kodėl jis apskritai egzistuoja, kaip jį naudoti įvairiose platformose. Išsiaiškinkime šiame straipsnyje.

Apie vertikalųjį sinchronizavimą

Prieš pradedant tiesiai prie vertikalios sinchronizacijos prigimties paaiškinimo, reikia šiek tiek pasigilinti į vertikalios sinchronizacijos formavimosi istoriją. Pasistengsiu būti kuo aiškesnis. Pirmieji kompiuterių monitoriai buvo fiksuotas vaizdas, aptarnaujamas vieno kadro nuskaitymo signalu.

Pasirodžius naujos kartos ekranams, smarkiai iškilo raiškos keitimo klausimas, kuriam reikėjo kelių veikimo režimų, tie ekranai teikdavo vaizdą naudojant signalų poliškumą sinchroniškai su vertikale.

Reikalinga VGA raiška daugiau tikslaus derinimo nušluoti ir buvo duoti du signalai horizontaliai ir vertikaliai. Šiuolaikiniuose ekranuose už nuskaitymo nustatymą atsakingas įtaisytasis valdiklis.

Bet jei valdiklis, pasak vairuotojo, nustato reikiamą kadrų skaičių, kam reikalinga vertikali sinchronizacija nustatytai raiškai? Tai nėra taip paprasta. Gana dažnai pasitaiko situacijų, kai vaizdo plokštės generavimo kadrų dažnis yra labai didelis, tačiau monitoriai dėl savo techninių apribojimų negali tinkamai parodyti šio kadrų skaičiaus kai monitoriaus atnaujinimo dažnis yra žymiai mažesnis nei vaizdo plokštės atnaujinimo dažnis. Tai lemia ryškų vaizdo judesį, artefaktus ir juosteles.

Neturėdami laiko rodyti kadrų iš atminties failo, kai įjungtas „trigubas buferis“, jie greitai pakeičia save, uždėdami kitus kadrus. Ir čia trigubo buferio technologija beveik neveiksminga.

Vertikalaus sinchronizavimo technologija skirtas šiems trūkumams ištaisyti..

Ji atsisuka į monitorių su įjungta apklausa standartinės funkcijos dažnio ir kadrų dažnio atnaujinimas, neleidžiant kadrams iš antrinės atminties perkelti į pirminę, tiksliai iki vaizdo atnaujinimo momento.

Vertikalaus sinchronizavimo prijungimas

Didžioji dauguma žaidimų turi šią funkciją tiesiogiai savo grafikos nustatymuose. Bet tai atsitinka, kai tokio stulpelio nėra arba kai kurie trūkumai pastebimi dirbant su programų, kuriose nėra tokių parametrų nustatymų, grafika.

Kiekvienos vaizdo plokštės nustatymuose galite įjungti vertikalaus sinchronizavimo technologiją visoms programoms arba pasirinktinai.

Kaip įjungti NVidia?

Kaip ir dauguma manipuliacijų su NVidia kortelėmis, tai atliekama naudojant NVidia valdymo pultą. Ten, 3D parametrų valdymo grafike, bus sinchroninio impulso parametras.

Jis turėtų būti perkeltas į įjungimo padėtį. Bet priklausomai nuo vaizdo plokštės, tvarka bus skirtinga.

Taigi senesnėse vaizdo plokštėse vertikalaus sinchronizavimo parametras yra skyriuje pasaulinės galimybės toje pačioje 3D nustatymų valdymo diagramoje.

Vaizdo plokštės iš ATI

Norėdami konfigūruoti, naudokite savo vaizdo plokštės valdymo centrą. Būtent „Catalyst Control Center“ veikia .NET Framework 1.1. Jei jo neturite, valdymo centras nepasileis. Bet nesijaudink. Tokiais atvejais yra alternatyva centrui, tiesiog dirbant su klasikiniu valdymo pultu.

Norėdami pasiekti nustatymus, eikite į 3D elementą, esantį kairėje esančiame meniu. Bus skyrius „Laukite vertikalaus atnaujinimo“. Iš pradžių programoje naudojama numatytoji vertikalaus sinchronizavimo technologija.

Perkėlus mygtuką į kairę ši funkcija bus visiškai išjungta, o perkėlus į dešinę – priverstinai įjungta. Numatytoji parinktis yra čia pats protingiausias, nes leidžia sinchronizuoti tiesiogiai per žaidimo nustatymus.

Apibendrinant

Vertikalus sinchronizavimas yra funkcija, kuri padeda atsikratyti aštrių judesių paveikslėlyje, kai kuriais atvejais leidžia atsikratyti artefaktų ir juostelių vaizde. Ir tai pasiekiama dvigubai buferiuojant gaunamą kadrų dažnį, kai nesutampa monitoriaus ir vaizdo plokštės kadrų dažnis.

Šiandien v-sync yra daugelyje žaidimų. Tai veikia panašiai kaip trigubas buferis, tačiau kainuoja daug mažiau išteklių, todėl trigubas buferis žaidimo nustatymuose matomas rečiau.

Pasirinkęs įjungti arba išjungti vertikalųjį sinchronizavimą, vartotojas pasirenka kokybę ir našumą. Jį įjungus gaunamas sklandesnis vaizdas, bet mažiau kadrų per sekundę.

Jį išjungęs jis gauna daugiau kadrų, bet neapsaugotas nuo vaizdo ryškumo ir niūrumo. Visų pirma tai taikoma intensyvios ir daug išteklių reikalaujančios scenos, kur ypač pastebimas vertikalaus sinchronizavimo arba trigubo buferio trūkumas.

Šis paslaptingas daugelio žaidimų parametrų grafikas nebuvo toks paprastas, kaip atrodė. O dabar pasirinkimas, naudoti jį ar ne, lieka tik jums ir jūsų tikslams žaidimuose.

Esu tikras, kad daug gerbėjų Kompiuteriniai žaidimai susidūrė su rekomendacija žaidimų vaizdo plokštės nustatymuose išjungti vadinamąją „vertikaliąją sinchronizaciją“ arba VSync.

Daugelyje grafikos valdiklio veikimo testų pabrėžiama, kad testavimas buvo atliktas išjungus VSync.
Kas tai yra ir kodėl to reikia, jei daugelis „pažangių ekspertų“ pataria šią funkciją išjungti?
Norėdami suprasti vertikalaus sinchronizavimo reikšmę, turite trumpai nukrypti į istoriją.

Pirmieji kompiuterių monitoriai veikė fiksuota skiriamąja geba ir fiksuotu atnaujinimo dažniu.
Atsiradus EGA monitoriams, atsirado poreikis rinktis skirtingas raiškas, kurias teikė du veikimo režimai, kuriuos lėmė vaizdo sinchronizavimo signalų poliškumas išilgai vertikalės.

Monitoriams, kurie palaiko VGA ir didesnę skiriamąją gebą, reikia tiksliai sureguliuoti šlavimo dažnius.
Tam jau buvo naudojami du signalai, atsakingi už vaizdo sinchronizavimą tiek horizontaliai, tiek vertikaliai.
Šiuolaikiniuose monitoriuose specialus valdiklio lustas yra atsakingas už nuskaitymo sureguliavimą pagal nustatytą skiriamąją gebą.

Kodėl vaizdo plokštės nustatymuose išsaugomas elementas „vertikalus sinchronizavimas“, jei monitorius gali automatiškai prisitaikyti pagal tvarkyklėje nustatytą režimą?
Faktas yra tas, kad nepaisant to, kad vaizdo plokštės gali generuoti labai daug kadrų per sekundę, monitoriai negali to parodyti kokybiškai, todėl atsiranda įvairių artefaktų: juostelių ir „suplėšyto“ vaizdo.

Norėdami to išvengti, vaizdo plokštės numato išankstinio monitoriaus užklausimo apie jo vertikalųjį nuskaitymą režimą, su kuriuo sinchronizuojamas kadrų skaičius per sekundę - pažįstami kadrai per sekundę.
Kitaip tariant, esant vertikaliam 85 Hz dažniui, kadrų skaičius per sekundę bet kuriame žaidime neviršys aštuoniasdešimt penkių.

Vertikalus monitoriaus atnaujinimo dažnis reiškia, kiek kartų ekranas su vaizdu atnaujinamas per sekundę.
Katodinių spindulių vamzdžio ekrano atveju, kad ir kiek kadrų per sekundę grafikos greitintuvas leistų „išspausti“ iš žaidimo, atnaujinimo dažnis fiziškai negali būti didesnis nei nustatytas.

Skystųjų kristalų monitoriuose nėra fizinio viso ekrano atnaujinimo: čia atskiri pikseliai gali švytėti arba nešviesti.
Tačiau pati duomenų perdavimo per vaizdo sąsają technologija numato, kad kadrai iš vaizdo plokštės į monitorių perduodami tam tikru greičiu.
Todėl, esant tam tikram susitarimui, „šlavimo“ sąvoka taikoma LCD ekranui.

Iš kur atsiranda vaizdo artefaktai?
Bet kuriame žaidime generuojamų kadrų skaičius per sekundę nuolat kinta, priklausomai nuo nuotraukos sudėtingumo.
Kadangi monitoriaus atnaujinimo dažnis yra pastovus, desinchronizacija tarp vaizdo plokštės perduodamų kadrų per sekundę ir monitoriaus atnaujinimo dažnio sukelia vaizdo iškraipymą, kuris tarsi suskirstytas į kelias savavališkas juostas: viena jų dalis turi laiko atsinaujinti, o kita. ne.

Pavyzdžiui, monitorius veikia 75 Hz atnaujinimo dažniu, o vaizdo plokštė žaidime generuoja šimtą kadrų per sekundę.
Kitaip tariant, grafikos greitintuvas yra maždaug trečdaliu greitesnis nei monitoriaus atnaujinimo sistema.
Vieno ekrano atnaujinimo metu kortelė sugeneruoja 1 kadrą ir trečdalį kito – dėl to ekrane nubraižomi du trečdaliai esamo kadro, o jo trečias pakeičiamas trečiu kito kadru.

Kito atnaujinimo metu kortelė sugeba sugeneruoti du trečdalius kadro ir du trečdalius kito ir pan.
Monitoriuje kas du iš trijų nuskaitymo ciklų stebime trečdalį vaizdo iš kito kadro - vaizdas praranda glotnumą ir „trūkčioja“.
Šis defektas ypač pastebimas dinamiškose scenose arba, pavyzdžiui, kai jūsų veikėjas žaidime apsižvalgo.

Tačiau būtų iš esmės klaidinga manyti, kad jei vaizdo plokštei būtų uždrausta generuoti daugiau nei 75 kadrus per sekundę, tada viskas būtų tvarkoje su vaizdo atvaizdavimu ekrane, kurio vertikalus dažnis yra 75 Hz.
Faktas yra tas, kad įprasto, vadinamojo „dvigubo buferio“ atveju, monitoriaus kadrai gaunami iš pirminio kadrų buferio (priekinio buferio), o pats atvaizdavimas atliekamas antriniame buferyje (galiniame buferyje). .

Užsipildžius antriniam buferiui, kadrai patenka į pirminį, tačiau kadangi kopijavimo operacija tarp buferių užtrunka tam tikrą laiką, šiuo metu atnaujinus monitoriaus nuskaitymą vaizdo trūkčiojimo vis tiek nepavyks išvengti.

Vertikali sinchronizacija tiesiog išsprendžia šias problemas: monitoriuje yra užklaustas atnaujinimo dažnis ir draudžiama kopijuoti kadrus iš antrinio buferio į pagrindinį, kol vaizdas nebus atnaujintas.
Ši technologija puikiai veikia, kai kadrų dažnis per sekundę viršija vertikalųjį dažnį.
Bet ką daryti, jei kadrų dažnis nukrenta žemiau atnaujinimo dažnio?
Pavyzdžiui, kai kuriose scenose mūsų fps sumažėja nuo 100 iki 50.

Šiuo atveju atsitinka taip.
Vaizdas monitoriuje atnaujinamas, pirmasis kadras nukopijuojamas į pirminį buferį, o du trečdaliai antrojo „perteikiami“ antriniame buferyje, o po to atnaujinamas dar vienas vaizdas ekrane.
Šiuo metu vaizdo plokštė baigia apdoroti antrąjį kadrą, kurio ji vis tiek negali išsiųsti į pirminį buferį, o kitas vaizdo atnaujinimas vyksta su tuo pačiu kadru, kuris vis dar yra saugomas pirminiame buferyje.

Tada visa tai kartojasi, ir dėl to susidaro situacija, kai kadrų dažnis per sekundę ekrane yra du kartus mažesnis už nuskaitymo dažnį ir trečdaliu mažesnis už galimą atvaizdavimo greitį: vaizdo plokštė pirmiausia „neišlaiko “ su monitoriumi, o tada, priešingai, turite palaukti, kol ekranas vėl paims pirminiame buferyje saugomą kadrą ir kol antriniame buferyje atsiras vietos naujam kadrui apskaičiuoti.

Pasirodo, vertikalios sinchronizacijos ir dvigubo buferio atveju aukštos kokybės vaizdą galime gauti tik tuo atveju, jei kadrų skaičius per sekundę yra lygus vienai iš diskrečios reikšmių sekos, apskaičiuotos kaip nuskaitymo dažnio santykis. į kokį nors teigiamą sveikąjį skaičių.
Pavyzdžiui, kai atnaujinimo dažnis yra 60 Hz, kadrų skaičius per sekundę turėtų būti 60 arba 30 arba 15, 12 arba 10 ir tt.

Jei potencialios kortelės galimybės leidžia generuoti mažiau nei 60 ir daugiau nei 30 kadrų per sekundę, tada tikrasis atvaizdavimo greitis sumažės iki 30 kadrų per sekundę.

Verčiama... Versti kinų (supaprastinta) kinų (tradicinė) anglų prancūzų vokiečių italų portugalų rusų ispanų turkų

Deja, šiuo metu negalime išversti šios informacijos – bandykite dar kartą vėliau.

Sužinokite, kaip naudoti paprastą algoritmą sinchronizuoti vaizdą su ekrano atnaujinimo dažniu ir pagerinti vaizdo įrašo atkūrimo kokybę.

Įvadas

Mūsų „skaitmeninio namo“ vizija pamažu tampa realybe. Pastaraisiais metais parduodama vis daugiau „skaitmeniniams namams“ skirtų įrenginių. Siūlomos elektronikos asortimentas labai didelis – nuo ​​daugialypės terpės priedėlių, palaikančių muzikos ir vaizdo transliacijas, iki pilno masto pramogų sistemų įprastame kompiuterio korpuse.

Namų medijos centrai tampa standartine kompiuterių parduotuvių kainoraščio dalimi, leidžiančia žiūrėti ir įrašyti TV laidas, saugoti ir leisti skaitmenines nuotraukas bei muziką ir pan. Be to, kai kurie pardavėjai siūlo specialius rinkinius, su kuriais vartotojas savo kompiuterį gali paversti namų medijos centru.

Deja, tokie žiniasklaidos centrai ne visada palaiko aukštos kokybės vaizdo įrašų atkūrimą. Nepakankamą vaizdo kokybę dažniausiai lemia tokie veiksniai kaip netinkamas srautinio turinio buferis ir atvaizdavimas, išskaidymo algoritmų trūkumas apdorojant persipynę vaizdo įrašą ir netinkamas vaizdo ir garso srautų sinchronizavimas. Dauguma šių problemų yra gerai ištirtos ir turi sprendimus, į kuriuos gamintojai pakankamai atsižvelgia. Tačiau yra ir kita, mažiau žinoma ir ne tokia akivaizdi problema, kuri gali sukelti nedidelį, bet vis tiek pastebimą iškraipymą žiūrint vaizdo įrašus. Mūsų straipsnyje pateikiamas išsamus šios problemos aprašymas ir vienas iš būdų ją išspręsti.

Augant namų žiniasklaidos centrų pardavimui, vis daugiau vartotojų televizorių žiūri kompiuteriu. Plečiantis šiam segmentui, kurio šiuo metu paklausa mėgėjų entuziastai, išaugs ir kokybiško vaizdo poreikis.

Yra daugybė būdų, kaip pagerinti vaizdo įrašų atkūrimo kompiuteryje kokybę, ir daugelis vaizdo įrašų programinės įrangos gamintojų juos sėkmingai naudoja. Tuo pačiu kartais tai, kad Vaizdo įrašų atkūrimo programinė įranga turi atsižvelgti ir užtikrinti, kad vaizdo įrašas būtų sinchronizuotas su ekrano atnaujinimo dažniu. Faktas yra tas, kad televizoriai iš pradžių yra skirti sinchronizuoti su vaizdo signalu, gaunamu iš transliavimo studijos. Skirtingai nei televizoriai, kompiuterių monitoriai atnaujina ekraną fiksuotu greičiu, kurį nustato grafinis adapteris ir neturi nieko bendra su vaizdo signalu. Šis reikšmingas skirtumas gali sukelti daug problemų, jei norite užtikrinti, kad vaizdo įrašas būtų tinkamai sinchronizuotas su kompiuterio ekranu. Žemiau mes pasistengsime Išsamus aprašymasšią problemą ir pasiūlyti sprendimą. Tačiau prieš tai skaitytoją norėtume supažindinti su kai kuriomis pagrindinėmis sąvokomis, kurios bus aptariamos straipsnyje.

Ekrano atnaujinimo ciklas

Kompiuterio ekrano atnaujinimo dažnis (ekrano atnaujinimo dažnis) sinchronizuojamas su grafikos adapterio (vaizdo plokštės) dažniu. Apsvarstykite dažniausiai pasitaikantį pavyzdį - kai vaizdo plokštė ir monitorius palaiko 60 Hz dažnį. Toks derinys įmanomas dėl to, kad monitorius yra sinchronizuojamas su 60Hz signalu, gaunamu iš vaizdo plokštės. Tiesą sakant, monitorius palaiko sinchronizavimą net ir esant nedideliam grafikos adapterio išėjimo dažnio nukrypimui (pavyzdžiui, 60,06 Hz vietoj standartinio 60 Hz).

Atnaujinimo ciklo metu ekrano vaizdas perrašomas iš rodymo buferio (grafikos adapterio adresuojamos atminties). Kiekviena horizontali ekrano eilutė nuosekliai atnaujinama pagal naujus duomenis, esančius vaizdo atminties buferyje. atnaujinta m Šis momentas laiko linija vadinama nuskaitymo linija. 60 Hz grafikos adapterio atveju ekrano atnaujinimo procesas vyksta 60 kartų per sekundę, todėl vaizdas kompiuterio monitoriuje taip pat atnaujinamas 60 kartų per sekundę.

1 pav. Ekrano atnaujinimas

Vaizdo plyšimo artefaktai

Žinokite apie galimą nevienodo grafikos buferio atnaujinimo problemą. Jei vaizdo atminties buferio turinys pasikeitė tuo metu, kai vaizdas monitoriuje dar nebuvo visiškai nupieštas (atnaujinimo ciklas nebaigtas), tada bus rodoma tik naujo vaizdo dalis, einanti po nuskaitymo linijos ekrane (žr. pav. Ryžiai. 2). Šis vaizdo artefaktas, kuriame senas vaizdas rodomas ekrano viršuje, o naujas vaizdas apačioje, vadinamas plyšimu. Tiesą sakant, šis terminas yra labai apibūdinantis, nes gautas vaizdas atrodo tarsi „suplėšytas“ per pusę.

2 pav. – vaizdo „tarpelio“ artefaktai

Komanda Flip

Vienas iš būdų apsisaugoti nuo „ašarų“ – pasirūpinti, kad būtų atnaujintas vaizdo atminties turinys po to kaip baigiamas ekrano atnaujinimo ciklas ir prieš tai kai prasidės kitas ciklas. Kitaip tariant, atnaujinimas turi įvykti atvirkštinio valymo metu. Tačiau šis metodas reikalauja atitinkamų pakeitimų programinėje įrangoje, kuri turi pakankamai tiksliai apskaičiuoti vaizdo keitimo tvarką.

Dėl šios priežasties buvo pasiūlytas buferio perjungimo sinchronizavimo algoritmas (Flip). Komanda „Flip“ yra labai paprastos prigimties – ji leidžia programai atnaujinti vaizdą bet kuriuo ekrano atnaujinimo ciklo metu, tačiau jos rezultatas realiai neperkeliamas į vaizdo atmintį, kol nesibaigia dabartinis ciklas. Taigi vaizdas monitoriuje atnaujinamas tam tikru intervalu po komandos Flip vykdymo. Naudojant buferio sinchronizavimo metodą, vaizdo „plyšimas“ pašalinamas, nes komanda Flip užtikrina, kad kiekvienam atnaujinimo ciklui būtų paruoštas visiškai naujas vaizdas (žr. toliau). Ryžiai. 3). Tačiau kitame skyriuje parodysime, kad vien komandos Flip naudojimas negarantuoja, kad visos problemos bus išspręstos.

3 pav. Apversti komandų seka

Galimos problemos

Sinchronizavimo algoritmo naudojimas turi daug privalumų ir padeda pašalinti plyšančius artefaktus, tačiau išlieka viena svarbi problema.

Naudojant komandą Flip, pakeičiamos vaizdo įrašo programinės įrangos pateikimo sąlygos. Norėdami atlikti Flip, programinė įranga turi pakoreguoti kadrų buferio atnaujinimo intervalą (kadrų dažnį) pagal tam tikrą kadrų dažnį. Vienintelis laikrodžio dažnis, kuriuo galima sinchronizuoti kadrus, yra ekrano atnaujinimo dažnis (arba keli). Kitaip tariant, naujas kadras gali būti rodomas tik atnaujinimo ciklo pradžioje – iš tikrųjų kadrų intervalai yra susieti su ekrano atnaujinimo dažniu.

4 pav. Kadrų dažnio ir rodymo dažnio neatitikimas

Šis faktas reiškia, kad jei ekrano atnaujinimo dažnis nesutampa su atkuriamo turinio kadrų dažniu arba nėra jo kartotinis, ekrane esančio turinio negalima visiškai atkurti. Ant Ryžiai. keturi parodytas ypatingas šios problemos atvejis. Pagal šį scenarijų turinio kadrų dažnis yra lėtesnis nei ekrano atnaujinimo dažnis. Dėl fazės poslinkio tarp šių dviejų dažnių, dviejų kadrų apvertimo komandų intervalai ilgainiui pailgės iki viso atnaujinimo ciklo (atkreipkite dėmesį į 3 ir 4 kadrų laiką). Dėl to 3 kadras bus rodomas beveik dvigubai ilgiau nei reikia. Taigi turėtumėte stengtis suderinti ekrano kadrų dažnį ir atnaujinimo dažnį, nors tai ne visada įmanoma.

Nagrinėjama situacija tik pablogėja, jei skirtumas tarp kadrų dažnio ir ekrano atnaujinimo dažnio yra mažas. Kai kadrų laikas yra artimas naujinimo ciklo intervalams, net ir nedideli programinės įrangos laikmačio skaičiavimo netikslumai gali sukelti kelių iš eilės apverstų komandų nukrypimą nuo atnaujinimo pradžios. Tai reiškia, kad kai kurios „Flip“ komandos bus paleistos per anksti, o kai kurios – per vėlai, todėl kadrai „pasikartoja“ ir „nukrenta“. Šis atvejis iliustruotas Ryžiai. 5– laikmatis neveikia tinkamai (nereguliariais intervalais), todėl 2 ir 4 kadrai nerodomi, o 3 ir 5 kadrai rodomi du kartus.

5 pav. Apversti laikmačio gedimų naudojimo rezultatas

Šis reiškinys gali atsirasti net tada, kai turinio kadrų dažnis ir ekrano atnaujinimo dažnis yra vienodi. Akivaizdu, kad norint užtikrinti aukštos kokybės vaizdo įrašų atkūrimą, nepakanka naudoti tik laikmatį ir komandą Flip. Kaip paaiškinta kitame skyriuje, kad apversti komandos būtų tinkamai vykdomos, programinė įranga turi palaikyti protingą sinchronizavimą su ekrano atnaujinimo ciklais.

Laiko apvertimo komandos

Kaip minėta pirmiau, naudojant komandą Flip galima atsižvelgti į ekrano atnaujinimo ciklus atvaizduojant vaizdo kadrus. Kiekvienas naujai perduotas kadras rodomas tik vieną pilną ekrano atnaujinimo ciklą. Taigi, naudojant komandą Flip, programinė įranga turi tiksliai apskaičiuoti ne tik kada turi būti rodomas kiekvienas kadras, bet ir nustatyti konkretų atnaujinimo ciklą, kad būtų optimaliai sinchronizuotas kadrų išvestis.

Geriausia komandą Flip iškviesti pačioje atnaujinimo ciklo pradžioje, prieš pat atitinkamo kadro atnaujinimo intervalo pradžią (žr. pavyzdį Ryžiai. 3). Tai suteikia didžiausią tikimybę iš tikrųjų įvykdyti komandą prieš atitinkamo atnaujinimo ciklo pradžią ir užtikrina, kad kadras bus išvestas tinkamu laiku. Atminkite, kad tais atvejais, kai vaizdo įrašo kadrų dažnis ir ekrano atnaujinimo dažnis nesutampa, „Flip“ kadrų atnaujinimo ciklo optimizavimo nepakanka norint užtikrinti priimtiną vaizdo kokybę. Yra keletas būdų, kaip įrėminti arba modifikuoti turinio rėmelius, kurie išsprendžia šias problemas, tačiau jie nepatenka į šio leidinio taikymo sritį.

Kai kurie Operacinės sistemos teikti programavimo sąsajas, per kurias programos gali sinchronizuoti su ekrano atnaujinimo ciklu. Visų pirma, Microsoft DirectX 9.0 aplinkoje yra keletas procedūrų, kurios gali būti labai naudingos mūsų atveju. Toliau pažvelgsime į standartines DirectX procedūras kaip pavyzdinius tiriamos problemos sprendimo būdus. Skaitytojai gali naudoti šiuos pavyzdžius norėdami ištirti siūlomus metodus ir rasti panašių sprendimų kitose operacinėse sistemose.

WaitForVerticalBlank () yra standartinė „DirectDraw“ bibliotekos procedūra (IDirectDraw sąsajoje), kuri blokuoja gijos prieigą prie sąsajos iki kito atnaujinimo ciklo pradžios. Šią procedūrą galima naudoti sinchronizavimui, tačiau tai turėtų būti atliekama vieną kartą arba tam tikru intervalu, nes norint pasiekti reikia daug laiko. Tačiau ši procedūra yra naudinga atliekant pradinį sinchronizavimą su atnaujinimo ciklu.

GetScanLine() yra standartinė procedūra, kurią galima naudoti norint gauti informaciją apie tai, kuri nuskaitymo linija šiuo metu atnaujinama ekrane. Jei žinomas bendras eilučių skaičius ir dabartinė nuskaitymo linija, nustatyti ekrano atnaujinimo ciklo būseną nėra sunku. Pavyzdžiui, jei bendras ekrano eilučių skaičius yra 1024 ir procedūra GetScanLine() grąžina 100, dabartinis atnaujinimo ciklas šiuo metu yra nuo 100 iki 1024, tai yra apie 10 procentų. Taikymas GetScanLine() leidžia programai stebėti atnaujinimo ciklo būseną ir pagal ją nustatyti, su kuriuo ciklu susieti kitą pateiktą kadrą, bei nustatyti laikmatį norimam buferio perjungimo laikui. Toliau pateikiamas algoritmo pavyzdys:

6 pav

Kadrų keitimo laikas parenkamas ne tik pagal naujų vaizdo kadrų skaičiavimą, bet ir atsižvelgiant į ekrano atnaujinimo dažnį. Kadangi kadrai ekrane rodomi tik atnaujinus ekraną, būtina įsitikinti, kad kiekvienas kadras „pataikė“ į tinkamą atnaujinimo ciklą. Taigi, idealiu atveju vaizdo kadravimas turėtų tiksliai atitikti ekrano atnaujinimo dažnį. Tokiu atveju kiekvienas kadras bus nupieštas ekrane tinkamu laiku.

Alternatyvus įrašyto turinio sprendimas

Aptariamos problemos taikomos visiems vaizdo įrašų atkūrimo scenarijams, tiek tiesioginių transliacijų atveju, tiek atkuriant įrašytą vaizdo įrašą. Tačiau pastaruoju atveju galite kreiptis į alternatyvų sprendimą. Jei skirtumas tarp turinio kadrų dažnio ir ekrano atnaujinimo dažnio mažas, galite reguliuoti vaizdo kadrų dažnį (taip pat reguliuoti garso srautą), kad atitiktų ekrano atnaujinimo dažnį, nepakenkiant turinio kokybei. Kaip pavyzdį paimkime 59,94 kadrų per sekundę (Bob deinterlaced) standartinės raiškos TV signalą monitoriuje 60 Hz dažniu. Pagreitinę vaizdo ir garso atkūrimą iki 60 kadrų per sekundę, galite užtikrinti, kad kadrų dažnis atitiktų ekrano atnaujinimo intervalus ir tuo pačiu nebus vaizdo artefaktų.

Santrauka

Šis leidinys skirtas vaizdo sinchronizavimo būdams, ypač vaizdo plyšimo artefaktų prevencijai naudojant komandą Flip. Straipsnyje taip pat aptariami atvejai, kai komanda „Apversti“ sukelia problemų dėl griežto sinchronizavimo su ekrano atnaujinimo ciklais. Tinkamas kadrų laikas ir Flip komandų naudojimas gali sukelti kadrų laiką ir intervalus nuo to, ko tikisi programinė įranga. Straipsnyje daroma išvada, kad teisingas būdas naudoti apversti komandas yra suderinti apvertimo sinchronizavimą su ekrano atnaujinimo dažniu ir optimizuoti vaizdo skaičiavimo ciklą, atsižvelgiant į tolesnę jo išvestį. Taigi apvertimo intervalus galima reguliuoti programine įranga. Geriausia kokybė vaizdo įrašas pasiekiamas, kai turinio kadrų dažnis atitinka ekrano atnaujinimo dažnį. Tačiau praktiškai tai ne visada įmanoma pasiekti. Šiame straipsnyje aprašyti algoritmai padės sumažinti vaizdo artefaktus iki minimumo.

Šiuolaikiniai žaidimai naudoja vis daugiau grafinių efektų ir vaizdą gerinančių technologijų. Tuo pačiu metu kūrėjai dažniausiai nesivargina paaiškinti, ką tiksliai jie daro. Kai nėra produktyviausio kompiuterio, kai kurias galimybes tenka paaukoti. Pabandykime apsvarstyti, ką reiškia dažniausiai naudojamos grafikos parinktys, kad geriau suprastume, kaip atlaisvinti kompiuterio išteklius su minimaliomis pasekmėmis grafikai.

Anizotropinis filtravimas

Kai monitoriuje bet kokia tekstūra rodoma ne originalaus dydžio, reikia į jį įterpti papildomų pikselių arba, atvirkščiai, pašalinti papildomus. Tai atliekama naudojant techniką, vadinamą filtravimu.

Dvilinijinis filtravimas yra paprasčiausias algoritmas ir reikalauja mažesnės skaičiavimo galios, tačiau taip pat duoda prasčiausią rezultatą. Trilinear suteikia aiškumo, bet vis tiek sukuria artefaktus. Anizotropinis filtravimas laikomas pažangiausiu metodu, kuris pašalina pastebimus iškraipymus objektuose, kurie yra stipriai pasvirę fotoaparato atžvilgiu. Skirtingai nuo dviejų ankstesnių metodų, jis sėkmingai kovoja su slapyvardžio efektu (kai kai kurios tekstūros dalys yra neryškesnės nei kitos, o riba tarp jų tampa aiškiai matoma). Naudojant bilinear arba trilinear filtravimą, didėjant atstumui, tekstūra tampa vis labiau neryški, o anizotropinis filtravimas neturi šio trūkumo.

Atsižvelgiant į apdorojamų duomenų kiekį (ir scenoje gali būti daug didelės raiškos 32 bitų tekstūrų), anizotropinis filtravimas ypač reikalauja atminties pralaidumo. Galite sumažinti srautą pirmiausia dėl tekstūros suspaudimo, kuris dabar naudojamas visur. Anksčiau, kai tai buvo praktikuojama rečiau, o vaizdo atminties pralaidumas buvo daug mažesnis, anizotropinis filtravimas žymiai sumažino kadrų skaičių. Šiuolaikinėse vaizdo plokštėse tai beveik neturi įtakos fps.

Anizotropinis filtravimas turi tik vieną nustatymą – filtro koeficientą (2x, 4x, 8x, 16x). Kuo jis aukštesnis, tuo aiškesnės ir natūralesnės tekstūros atrodo. Paprastai didelės vertės maži artefaktai matomi tik atokiausiuose pakreiptų tekstūrų pikseliuose. 4x ir 8x verčių paprastai pakanka, kad atsikratytumėte liūto dalies regėjimo iškraipymo. Įdomu tai, kad keičiant nuo 8x iki 16x, net teoriškai našumo smūgis bus gana mažas, nes tik nedaugeliui anksčiau nefiltruotų pikselių reikės papildomo apdorojimo.

Shaders

Shaders yra mažos programos, kurios gali atlikti tam tikras manipuliacijas 3D scenoje, pavyzdžiui, pakeisti apšvietimą, pritaikyti tekstūras, pridėti papildomo apdorojimo ir kitus efektus.

Shaders skirstomi į tris tipus: viršūnė (Vertex Shader) veikia koordinatėmis, geometrinė (Geometry Shader) gali apdoroti ne tik atskiras viršūnes, bet ir visas. geometrines figūras, susidedantis iš daugiausiai 6 viršūnių, pikselių (Pixel Shader) darbas su atskirais pikseliais ir jų parametrais.

Shaders dažniausiai naudojami naujiems efektams kurti. Be jų operacijų, kurias kūrėjai galėtų naudoti žaidimuose, rinkinys yra labai ribotas. Kitaip tariant, pridėjus šešėlių buvo galima gauti naujų efektų, kurie pagal numatytuosius nustatymus nebuvo įtraukti į vaizdo plokštę.

Shaderiai veikia labai produktyviai lygiagrečiai, todėl šiuolaikiniai grafikos adapteriai turi tiek daug srauto procesorių, kurie dar vadinami šešėliais. Pavyzdžiui, „GeForce GTX 580“ jų yra net 512.

Paralakso kartografavimas

Paralakso žemėlapių sudarymas yra modifikuota gerai žinomos bumpmapping technikos, naudojamos tekstūroms įspausti, versija. Paralakso žemėlapių sudarymas nesukuria 3D objektų įprasta to žodžio prasme. Pavyzdžiui, žaidimo scenoje grindys arba siena atrodys grubios, o iš tikrųjų išliks visiškai plokščios. Reljefo efektas čia pasiekiamas tik manipuliuojant tekstūromis.

Originalus objektas neturi būti plokščias. Metodas tinka įvairiems žaidimo elementai, tačiau jį naudoti pageidautina tik tais atvejais, kai paviršiaus aukštis keičiasi sklandžiai. Aštrūs lašai apdorojami neteisingai, o ant objekto atsiranda artefaktų.

Paralaksinis atvaizdavimas žymiai sutaupo kompiuterio skaičiavimo išteklius, nes naudojant analogiškus objektus su tokia detalia 3D struktūra, vaizdo adapterių našumo nepakaktų scenoms atvaizduoti realiu laiku.

Poveikis dažniausiai taikomas akmens grindiniams, sienoms, plytoms ir plytelėms.

Anti-aliasing

Iki „DirectX 8“ atsiradimo anti-aliasing žaidimuose buvo atlikta naudojant „SuperSampling Anti-Aliasing“ (SSAA), dar žinomą kaip „Full-Scene Anti-Aliasing“ (FSAA). Dėl jo naudojimo labai sumažėjo našumas, todėl išleidus DX8 jis buvo nedelsiant atsisakytas ir pakeistas Multisample Anti-Aliasing (MSAA). Nepaisant to, kad šis metodas davė prastesnių rezultatų, jis buvo daug produktyvesnis nei jo pirmtakas. Nuo tada atsirado pažangesnių algoritmų, tokių kaip CSAA.

Atsižvelgiant į tai, kad per pastaruosius kelerius metus vaizdo plokščių našumas žymiai išaugo, tiek AMD, tiek NVIDIA grąžino SSAA technologijos palaikymą savo greitintuvams. Tačiau net ir dabar jo nebus galima naudoti šiuolaikiniuose žaidimuose, nes kadrų / s skaičius bus labai mažas. SSAA veiks tik ankstesnių metų projektuose arba dabartiniuose, tačiau su kukliais kitų grafinių parametrų nustatymais. AMD įdiegė SSAA palaikymą tik DX9 žaidimams, tačiau NVIDIA SSAA veikia ir DX10 bei DX11 režimais.

Lyginimo principas labai paprastas. Prieš rodant kadrą ekrane, tam tikra informacija apskaičiuojama ne natūralia skiriamąja geba, o padidinama ir dviejų kartotiniu. Tada rezultatas sumažinamas iki reikiamo dydžio, o tada „kopėčios“ išilgai objekto kraštų tampa mažiau pastebimos. Kuo didesnis originalus vaizdas ir išlyginimo koeficientas (2x, 4x, 8x, 16x, 32x), tuo mažiau žingsnių bus modeliuose. MSAA, skirtingai nei FSAA, išlygina tik objektų kraštus, o tai žymiai sutaupo vaizdo plokštės išteklius, tačiau ši technika gali palikti artefaktus daugiakampiuose.

Anksčiau „Anti-Aliasing“ žaidimuose visada žymiai sumažindavo kadrų skaičių per sekundę, o dabar tai šiek tiek paveikia kadrų skaičių, o kartais – visai.

teseliacija

Naudojant teseliaciją kompiuteriniame modelyje, daugiakampių skaičius padidinamas savavališku skaičiumi kartų. Norėdami tai padaryti, kiekvienas daugiakampis yra padalintas į kelis naujus, kurie yra maždaug taip pat, kaip ir pradinis paviršius. Šis metodas leidžia lengvai padidinti paprastų 3D objektų detalumą. Tačiau tokiu atveju padidės ir kompiuterio apkrova, o kai kuriais atvejais negalima atmesti net nedidelių artefaktų.

Iš pirmo žvilgsnio teseliaciją galima supainioti su paralakso kartografavimu. Nors tai yra visiškai skirtingi efektai, nes teseliacija iš tikrųjų keičia geometrinę objekto formą, o ne tik imituoja reljefą. Be to, jis gali būti naudojamas beveik bet kokiam objektui, o paralakso žemėlapių naudojimas yra labai ribotas.

Tesselation technologija kine žinoma nuo devintojo dešimtmečio, tačiau žaidimuose ji pradėta palaikyti visai neseniai, tiksliau po to, kai grafikos greitintuvai pagaliau pasiekė reikiamą našumo lygį, kuriuo ją galima atlikti realiu laiku.

Kad žaidimas galėtų naudoti teseliaciją, jam reikia vaizdo plokštės, palaikančios DirectX 11.

Vertikali sinchronizacija

V-Sync – tai žaidimo kadrų sinchronizavimas su monitoriaus vertikaliu atnaujinimo dažniu. Jo esmė slypi tame, kad tuo metu, kai atnaujinama jame esanti nuotrauka, ekrane rodomas visiškai apskaičiuotas žaidimo kadras. Svarbu, kad kitas kadras (jei jis jau paruoštas) taip pat atsirastų ne vėliau ir ne anksčiau, nei pasibaigs ankstesnio išvestis ir prasidės kitas.

Jei monitoriaus atnaujinimo dažnis yra 60 Hz, o vaizdo plokštė sugeba atvaizduoti 3D siužetą su bent tokiu pat kadrų skaičiumi, tada kiekvienas monitoriaus atnaujinimas parodys naują kadrą. Kitaip tariant, su 16,66 ms intervalu vartotojas ekrane matys visą žaidimo scenos atnaujinimą.

Reikėtų suprasti, kad įjungus vertikalųjį sinchronizavimą, žaidimo fps negali viršyti monitoriaus vertikalaus atnaujinimo dažnio. Jei kadrų skaičius yra mažesnis už šią reikšmę (mūsų atveju mažesnis nei 60 Hz), tai, norint išvengti našumo nuostolių, reikia aktyvuoti trigubą buferį, kuriame kadrai iš anksto apskaičiuojami ir saugomi trijuose atskiruose buferiuose. , leidžianti juos dažniau siųsti į ekraną.

Pagrindinė vertikalaus sinchronizavimo užduotis yra pašalinti pasislinkusio kadro efektą, atsirandantį, kai apatinė ekrano dalis užpildoma vienu kadru, o viršutinė dalis jau užpildyta kitu, pasislinkusiu ankstesnio atžvilgiu.

po apdorojimo

Tai yra bendras visų efektų, taikomų jau baigtam visiškai atvaizduotos 3D scenos kadrui (kitaip tariant, dvimačiui vaizdui), kad pagerintų galutinio vaizdo kokybę, pavadinimas. Papildomas apdorojimas naudoja pikselių šešėliuotojus ir naudojamas tais atvejais, kai papildomiems efektams reikia išsamios informacijos apie visą sceną. Atskiriant atskirus 3D objektus, tokių metodų negalima taikyti, jei kadre neatsiranda artefaktų.

Didelis dinaminis diapazonas (HDR)

Efektas, dažnai naudojamas žaidimų scenose su kontrastingu apšvietimu. Jei viena ekrano sritis yra labai šviesi, o kita labai tamsi, prarandama daug kiekvienos srities detalių ir atrodo monotoniška. HDR suteikia daugiau gradacijų kadrui ir leidžia detalizuoti sceną. Norėdami jį naudoti, paprastai turite dirbti su didesniu atspalvių asortimentu, nei gali suteikti standartinis 24 bitų tikslumas. Išankstiniai skaičiavimai atliekami didesniu tikslumu (64 arba 96 bitai), ir tik paskutiniame etape vaizdas koreguojamas iki 24 bitų.

HDR dažnai naudojamas regėjimo pritaikymo efektui įgyvendinti, kai herojus žaidimuose palieka tamsų tunelį ant gerai apšviesto paviršiaus.

Bloom

„Bloom“ dažnai naudojamas kartu su HDR, be to, jis turi gana artimą giminaitį – „Glow“, todėl šios trys technikos dažnai painiojamos.

„Bloom“ imituoja efektą, kuris matomas fotografuojant labai ryškias scenas įprastais fotoaparatais. Gautame vaizde atrodo, kad intensyvi šviesa užima daugiau tūrio nei turėtų ir „užlipa“ ant objektų, nors yra už jų. Naudojant Bloom, ant objektų kraštų gali atsirasti papildomų artefaktų spalvotų linijų pavidalu.

Filmas Grūdas

Grūdai yra artefaktas, atsirandantis per analoginę televiziją su prastu signalu, senose magnetinėse vaizdo kasetėse arba nuotraukose (ypač skaitmeniniuose vaizduose, darytose esant silpnam apšvietimui). Žaidėjai dažnai atsijungia šis efektas, nes tai tam tikru mastu gadina vaizdą, o ne pagerina. Norint tai suprasti, galima bėgti masinis efektas kiekviename iš režimų. Pavyzdžiui, kai kuriuose „siaubo filmuose“. Tylos kalnas, triukšmas ekrane, priešingai, prideda atmosferos.

judesio neryškumas

Motion Blur – vaizdo suliejimo efektas greitai judant fotoaparatu. Jis gali būti sėkmingai naudojamas, kai scenai reikia suteikti daugiau dinamikos ir greičio, todėl jis yra ypač paklausus lenktynių žaidimai. Šauliuose suliejimo naudojimas ne visada suvokiamas vienareikšmiškai. Tinkamai pritaikius „Motion Blur“, tai, kas vyksta ekrane, gali suteikti kino kokybės.

Poveikis taip pat padės pridengti, jei reikia. žemo dažnio pakeisti kadrus ir suteikti žaidimo sklandumo.

SSAO

Aplinkos okliuzija yra technika, naudojama norint suteikti scenai fotorealizmo sukuriant labiau tikėtiną objektų apšvietimą, atsižvelgiant į kitus netoliese esančius objektus, turinčius savo šviesos sugerties ir atspindėjimo ypatybes.

„Screen Space Ambient Occlusion“ yra modifikuota „Ambient Occlusion“ versija, kuri taip pat imituoja netiesioginį apšvietimą ir šešėlį. SSAO atsirado dėl to, kad esant dabartiniam GPU našumo lygiui, Ambient Occlusion negalėjo būti naudojamas scenoms pateikti realiuoju laiku. Norėdami padidinti SSAO našumą, turite mokėti už prastesnę kokybę, tačiau net ir to pakanka, kad pagerintumėte vaizdo tikroviškumą.

SSAO dirba pagal supaprastintą schemą, tačiau turi daug privalumų: metodas nepriklauso nuo scenos sudėtingumo, nenaudoja RAM, gali veikti dinamiškose scenose, nereikalauja išankstinio kadro apdorojimo ir įkelia tik grafikos adapterį, neeikvodamas procesoriaus resursų.

Cel šešėlis

Žaidimai su Cel shading efektu buvo gaminami nuo 2000 m., o pirmiausia jie pasirodė konsolėse. Kompiuteryje ši technika išties išpopuliarėjo tik po poros metų po sensacingojo šaudyklės XIII išleidimo. Naudojant Cel atspalvį, kiekvienas kadras yra beveik kaip ranka pieštas piešinys arba fragmentas iš vaikiško animacinio filmo.

Komiksai kuriami panašiu stiliumi, todėl technika dažnai naudojama su jais susijusiuose žaidimuose. Iš naujausių žinomų leidimų galime pavadinti „Borderlands“ šaudyklę, kur „Cel“ šešėliai matomi plika akimi.

Technologijos ypatybės yra riboto spalvų rinkinio naudojimas, taip pat sklandžių gradientų nebuvimas. Efekto pavadinimas kilęs iš žodžio Cel (Celluloid), tai yra skaidri medžiaga (plėvelė), ant kurios piešiami animaciniai filmukai.

Lauko gylis

Lauko gylis yra atstumas tarp artimojo ir tolimojo erdvės krašto, kuriame visi objektai bus sufokusuoti, o likusi scenos dalis bus neryški.

Tam tikru mastu lauko gylį galima stebėti tiesiog sutelkus dėmesį į objektą, esantį arti prieš akis. Viskas, kas yra už jo, susilies. Taip pat yra priešingai: jei sutelksite dėmesį į tolimus objektus, viskas priešais juos pasirodys neaiški.

Kai kuriose nuotraukose galite pamatyti hipertrofuoto lauko gylio efektą. Būtent tokį suliejimo laipsnį dažnai bandoma imituoti 3D scenose.

Žaidimuose, kuriuose naudojamas lauko gylis, žaidėjas paprastai jaučia stipresnį buvimo jausmą. Pavyzdžiui, žvelgdamas kur nors per žolę ar krūmus, jis mato tik mažus scenos fragmentus sufokusavus, o tai sukuria buvimo iliuziją.

Poveikis našumui

Norėdami sužinoti, kaip tam tikrų parinkčių įtraukimas veikia našumą, naudojome Heaven DX11 Benchmark 2.5 žaidimų etaloną. Visi bandymai buvo atlikti naudojant Intel Core2 Duo e6300, GeForce GTX460 sistemą 1280x800 pikselių raiška (išskyrus vertikalųjį sinchronizavimą, kur skiriamoji geba buvo 1680x1050).

Kaip jau minėta, anizotropinis filtravimas beveik neturi įtakos kadrų skaičiui. Skirtumas tarp išjungtos anizotropijos ir 16x yra tik 2 kadrai, todėl rekomenduojame jį visada nustatyti maksimaliai.

„Heaven Benchmark“ anti-alias sumažino fps daugiau nei tikėjomės, ypač sunkiausiu 8 kartų režimu. Nepaisant to, kadangi pakanka 2x, kad vaizdas būtų pastebimai pagerėjęs, patariame pasirinkti šią parinktį, jei nepatogu žaisti prie aukštesnių.

Tesellation, skirtingai nei ankstesni parametrai, kiekviename žaidime gali įgyti savavališką reikšmę. „Heaven Benchmark“ be jo vaizdas labai pablogėja, o maksimaliu lygiu, atvirkščiai, tampa šiek tiek nerealus. Todėl turėtų būti nustatytos tarpinės vertės - vidutinės arba normalios.

Daugiau nei didelė raiška kad kadrų per sekundę neribotų vertikalus ekrano atnaujinimo dažnis. Kaip ir tikėtasi, kadrų skaičius beveik viso bandymo metu, kai buvo įjungta sinchronizacija, aiškiai buvo maždaug 20 arba 30 kadrų per sekundę. Taip yra dėl to, kad jie rodomi vienu metu atnaujinant ekraną, o esant 60 Hz atnaujinimo dažniui, tai galima padaryti ne su kiekvienu impulsu, o tik kas sekundę (60/2 = 30 fps) ar trečią ( 60/3 = 20 kadrų per sekundę). Išjungus „V-Sync“, kadrų skaičius padidėjo, tačiau ekrane pasirodė būdingi artefaktai. Trigubas buferis neturėjo jokios teigiamos įtakos scenos sklandumui. Galbūt taip yra dėl to, kad vaizdo plokštės tvarkyklės nustatymuose nėra galimybės priverstinai išjungti buferį, o etalonas nepaiso įprasto išjungimo ir vis tiek naudoja šią funkciją.

Jei Heaven Benchmark būtų žaidimas, tai esant maksimaliems nustatymams (1280×800; AA - 8x; AF - 16x; Tessellation Extreme) būtų nepatogu žaisti, nes 24 kadrų tam tikrai neužtenka. Mažiausiai prarandant kokybę (1280×800; AA – 2x; AF – 16x, Tesselation Normal), galima pasiekti priimtinesnį 45 kadrų per sekundę greitį.