Ինչ է նշանակում vsync խաղերում: Գրաֆիկական պարամետրեր խաղերում. ինչի՞ վրա են դրանք ազդում: Ուղղահայաց համաժամացման միացում

Ի՞նչ է ուղղահայաց համաժամացումը խաղերում: Այս գործառույթը պատասխանատու է 60 Հց հաճախականությամբ ստանդարտ LCD մոնիտորների վրա խաղերի ճիշտ ցուցադրման համար: Երբ միացված է, կադրերի արագությունը սահմանափակվում է 60 Հց-ով, և էկրանին որևէ ընդհատում չի ցուցադրվում: Այն անջատելը կբարձրացնի կադրերի արագությունը, բայց միևնույն ժամանակ էկրանը պատռելու էֆեկտ կլինի:

V-sync-ը խաղերում բավականին վիճելի թեմա է:Մի կողմից տեսողական հարմարավետության համար խաղախաղԹվում է, թե շատ անհրաժեշտ է, ենթադրելով, որ դուք ունեք ստանդարտ LCD մոնիտոր:

Դրա շնորհիվ խաղի ընթացքում էկրանին սխալներ չեն հայտնվում, նկարը կայուն է և բացեր չունի։ Բացասական կողմն այն է, որ կադրերի արագությունը սահմանափակվում է 60 Հց-ով, ուստի ավելի պահանջկոտ խաղացողները կարող են զգալ մուտքային ուշացում, այսինքն՝ մի փոքր ուշացում մկնիկի հետ խաղի ընթացքում (կարելի է հավասարեցնել մկնիկի շարժման արհեստական ​​հարթեցմանը):

Ուղղահայաց համաժամացման անջատումն ունի նաև իր դրական և բացասական կողմերը: Առաջին հերթին, տրամադրվում է անսահմանափակ FPS շրջանակի արագություն և դրանով իսկ ամբողջությամբ վերացնում է նշված մուտքային ուշացումը: Դա հարմար է խաղերի համար: Counter-Strike տեսակըորտեղ կարևոր է արձագանքումն ու ճշգրտությունը: Շարժումը և նպատակադրումը շատ պարզ են, դինամիկ, մկնիկի յուրաքանչյուր շարժում տեղի է ունենում բարձր ճշգրտությամբ: Որոշ դեպքերում մենք կարող ենք ավելին ստանալ FPS տոկոսադրույքը, քանի որ V-Sync-ը, կախված վիդեո քարտից, կարող է մի փոքր նվազեցնել ապարատային աշխատանքը (տարբերությունը մոտ 3-5 FPS է): Ցավոք սրտի, թերությունն այն է, որ առանց ուղղահայաց համաժամացման մենք ստանում ենք էկրանի պատռման էֆեկտ: Խաղում շարժումը շրջելիս կամ փոխելիս նկատում ենք, որ պատկերը պատռված է երկու կամ երեք հորիզոնական մասերի։

Միացնե՞լ, թե՞ անջատել V-Sync-ը:

Արդյո՞ք անհրաժեշտ է ուղղահայաց համաժամացում: Ամեն ինչ կախված է մեր անհատական ​​նախասիրություններից և նրանից, թե ինչ ենք ուզում ստանալ: Multiplayer FPS խաղերում խորհուրդ է տրվում անջատել ուղղահայաց համաժամացումը՝ նպատակի ճշգրտությունը բարելավելու համար: Էկրանի պատռման էֆեկտը, որպես կանոն, այնքան էլ նկատելի չէ, և երբ վարժվենք, չենք էլ նկատի։

Իր հերթին, ներս հեքիաթային խաղերԴուք կարող եք ապահով կերպով միացնել V-Sync-ը: Այստեղ բարձր ճշգրտությունն այնքան էլ կարևոր չէ, առաջին ջութակը նվագում է միջավայրը, տեսողական հարմարավետությունը, այնպես որ պետք է խաղադրույք կատարել լավ որակի վրա։

Ուղղահայաց համաժամացումը սովորաբար կարելի է միացնել կամ անջատել խաղի գրաֆիկական կարգավորումներում: Բայց եթե մենք այնտեղ նման գործառույթ չենք գտնում, ապա դուք կարող եք ձեռքով անջատել այն վիդեո քարտի կարգավորումներում՝ ինչպես բոլորի, այնպես էլ միայն ընտրված հավելվածների համար:

Ուղղահայաց համաժամացում NVIDIA գրաֆիկական քարտերի վրա

GeForce գրաֆիկական քարտերի վրա գործառույթը գտնվում է Nvidia Control Panel-ում: Սեղմել աջ սեղմումմկնիկը Windows 10 աշխատասեղանի վրա, այնուհետև ընտրեք Nvidia Control Panel:

Կողային տողում ընտրեք 3D կարգավորումների վերահսկման ներդիրը 3D կարգավորումների տակ: Հասանելի կարգավորումները կցուցադրվեն աջ կողմում:

Կարգավորումները բաժանված են երկու ներդիրի՝ գլոբալ և ծրագրային: Առաջին ներդիրում դուք կարող եք սահմանել տարբերակներ բոլոր խաղերի համար և, օրինակ, միացնել կամ անջատել ուղղահայաց համաժամացումը յուրաքանչյուրում: Մինչդեռ երկրորդ ներդիրում դուք կարող եք սահմանել նույն պարամետրերը, բայց յուրաքանչյուր խաղի համար առանձին:

Ընտրեք գլոբալ կամ ծրագրի ներդիրը, այնուհետև ցանկում փնտրեք «Ուղղահայաց համաժամացում» տարբերակը: Կողքին կա բացվող դաշտ. մենք ընտրում ենք ստիպողաբար անջատել կամ միացնել ուղղահայաց համաժամացումը:

V-Sync AMD գրաֆիկայի վրա

AMD գրաֆիկական քարտերի դեպքում այն ​​լրիվ նույն տեսքն ունի, ինչ Nvidia-ում: Աջ սեղմեք աշխատասեղանի վրա և անցեք Panel Catalyst Control Center:

Այնուհետև բացեք «Խաղեր» ներդիրը ձախ կողմում և ընտրեք «Կարգավորումներ 3D հավելվածների համար»: Աջ կողմում կցուցադրվի հասանելի ընտրանքների ցանկը, որոնք կարող են ստիպել միացնել AMD Radeon գրաֆիկական կարգավորումների դիրքից: Երբ մենք գտնվում ենք «Համակարգի կարգավորումներ» ներդիրում, մենք ընտրում ենք բոլորի համար:

Եթե ​​Ձեզ անհրաժեշտ է յուրաքանչյուր խաղի համար առանձին պարամետրեր սահմանել, ապա պետք է սեղմել «Ավելացնել» կոճակը և նշել EXE ֆայլը: Այն կավելացվի ցանկում որպես նոր էջանիշ, և երբ անցնեք դրան, կարող եք պարամետրեր սահմանել միայն այս խաղի համար։

Երբ դուք ընտրել եք ներդիրը ավելացված հավելվածով կամ համակարգի պարամետրերով (ընդհանուր), ապա ցանկում գտեք «Սպասեք ուղղահայաց թարմացման» տարբերակը: Կհայտնվի ընտրության տուփ, որտեղ մենք կարող ենք ստիպողաբար միացնել կամ անջատել այս տարբերակը:

V-Sync ինտեգրված Intel HD գրաֆիկայի վրա

Ինտեգրված Intel HD Graphics չիպ օգտագործելու դեպքում հասանելի է նաև կառավարման վահանակ: Այն պետք է հասանելի լինի աշխատասեղանի վրա աջ սեղմելով կամ Ctrl+Alt+F12 ստեղների համակցության միջոցով:

Intel վահանակի վրա անցեք Կարգավորումների ռեժիմի ներդիր - Control Panel - 3D Graphics, այնուհետև օգտագործողի կարգավորումներ:

Այստեղ մենք գտնում ենք ուղղահայաց համաժամացման ուղղահայաց համաժամացման դաշտ: Դուք կարող եք այն հարկադրաբար միացնել՝ արժեքը դնելով «Միացված է» կամ սահմանելով այն «Հավելվածի կարգավորումներ»: Ցավոք սրտի, Intel HD քարտի ընտրանքներում ուժով անջատելու հատկություն չկա. կարող եք միացնել միայն V-Sync-ը: Քանի որ վիդեո քարտում հնարավոր չէ անջատել ուղղահայաց համաժամացումը, դա կարելի է անել միայն հենց խաղի կարգավորումներում:

Գրեթե բոլորովին ժամանակակից խաղերգրաֆիկական պարամետրերում դուք կարող եք տեսնել «ուղղահայաց համաժամացման» սյունակը: Եվ ավելի ու ավելի շատ խաղացողներ ունեն հարցեր Արդյո՞ք այս համաժամացումը օգտակար է:, դրա ազդեցությունը և ինչու այն ընդհանրապես գոյություն ունի, ինչպես օգտագործել այն տարբեր հարթակներում: Եկեք պարզենք այս հոդվածում:

Ուղղահայաց համաժամացման մասին

Նախքան ուղղահայաց համաժամացման բնույթի բացատրությանը անցնելը, անհրաժեշտ է մի փոքր խորանալ ուղղահայաց համաժամացման ձևավորման պատմության մեջ: Ես կփորձեմ հնարավորինս պարզ լինել: Համակարգչային առաջին մոնիտորները ֆիքսված պատկեր էին, որը սպասարկվում էր մեկ շրջանակի սկանավորման ազդանշանով:

Երբ հայտնվեց նոր սերնդի էկրանները, կտրուկ առաջացավ լուծաչափը փոխելու հարցը, որը պահանջում էր աշխատանքի մի քանի ռեժիմ, այդ էկրանները պատկեր էին ներկայացնում՝ օգտագործելով ազդանշանների բևեռականությունը սինխրոն ուղղահայացին:

Պահանջվում է VGA լուծում ավելի նուրբ կարգավորումավլում և տրվել է երկու ազդանշան՝ հորիզոնական և ուղղահայաց: Այսօրվա ցուցադրություններում ներկառուցված կարգավորիչը պատասխանատու է սկանավորման համար:

Բայց եթե վերահսկիչը, ըստ վարորդի, սահմանում է անհրաժեշտ թվով շրջանակներ, ինչո՞ւ է ձեզ անհրաժեշտ ուղղահայաց համաժամացումը սահմանված լուծման համար: Դա այնքան էլ պարզ չէ։ Շատ հաճախ լինում են իրավիճակներ, երբ վիդեո քարտի ստեղծման կադրերի արագությունը շատ բարձր է, բայց մոնիտորները, իրենց տեխնիկական սահմանափակումների պատճառով, անկարող է ճիշտ ցուցադրել կադրերի այս թիվըերբ մոնիտորի թարմացման արագությունը զգալիորեն ցածր է գրաֆիկական քարտի թարմացման արագությունից: Սա հանգեցնում է պատկերի կտրուկ շարժումների, արտեֆակտների և շերտերի:

Չունենալով ժամանակ ցուցադրել հիշողության ֆայլից շրջանակներ, որոնցում միացված է «եռակի բուֆերավորումը», նրանք արագ փոխարինում են իրենց՝ գերադասելով հաջորդ կադրերը: Իսկ այստեղ եռակի բուֆերացման տեխնոլոգիան գրեթե անարդյունավետ է։

Ուղղահայաց համաժամացման տեխնոլոգիա նախատեսված է վերացնելու այդ թերությունները:.

Նա դիմում է մոնիտորին՝ միացված հարցումով ստանդարտ հատկանիշներթարմացնելով հաճախականությունը և կադրերի արագությունը՝ թույլ չտալով երկրորդական հիշողության շրջանակները տեղափոխել առաջնային, ճիշտ մինչև պատկերի թարմացման պահը:

Ուղղահայաց համաժամացման միացում

Խաղերի ճնշող մեծամասնությունն այս գործառույթն ունի ուղղակիորեն իրենց գրաֆիկական կարգավորումներում: Բայց դա տեղի է ունենում, երբ նման սյունակ չկա, կամ որոշակի թերություններ են նկատվում հավելվածների գրաֆիկայի հետ աշխատելիս, որոնք չեն ներառում նման պարամետրերի կարգավորումները:

Յուրաքանչյուր վիդեո քարտի կարգավորումներում կարող եք միացնել ուղղահայաց համաժամացման տեխնոլոգիան բոլոր հավելվածների համար կամ ընտրովի:

Ինչպե՞ս միացնել NVidia-ի համար:

Ինչպես NVidia քարտերով մանիպուլյացիաների մեծ մասը, այն կատարվում է NVidia կառավարման վահանակի միջոցով: Այնտեղ, 3D պարամետրի կառավարման գրաֆիկում, կլինի համաժամացման իմպուլսի պարամետր:

Այն պետք է տեղափոխվի միացված դիրքի: Բայց կախված վիդեո քարտից՝ հերթականությունը տարբեր կլինի։

Այսպիսով, հին վիդեո քարտերում ուղղահայաց համաժամացման պարամետրը գտնվում է գլխում գլոբալ ընտրանքներնույն 3D կարգավորումների կառավարման վանդակում:

Վիդեո քարտեր ATI-ից

Կարգավորելու համար օգտագործեք ձեր գրաֆիկական քարտի կառավարման կենտրոնը: Մասնավորապես, Catalyst Control Center-ը գործարկում է .NET Framework 1.1. Եթե ​​դուք չունեք այն, ապա կառավարման կենտրոնը չի գործարկվի: Բայց մի անհանգստացեք: Նման դեպքերում կենտրոնին այլընտրանք կա, պարզապես դասական կառավարման վահանակի հետ աշխատելը։

Կարգավորումներին մուտք գործելու համար անցեք ձախ կողմում գտնվող ընտրացանկում գտնվող 3D տարրը: Կլինի «Սպասեք ուղղահայաց թարմացման» բաժինը: Սկզբում հավելվածում օգտագործվում է կանխադրված ուղղահայաց համաժամացման տեխնոլոգիա:

Կոճակը ձախ տեղափոխելու դեպքում այս ֆունկցիան ամբողջությամբ կանջատվի, իսկ աջ տեղափոխելը ստիպողաբար կմիանա: Կանխադրված տարբերակը այստեղ է ամենախելամիտը, քանի որ այն հնարավորություն է տալիս կարգավորել համաժամացումը անմիջապես խաղի կարգավորումների միջոցով:

Ամփոփելով

Ուղղահայաց համաժամացումը գործառույթ է, որն օգնում է ազատվել նկարի կտրուկ շարժումներից, որոշ դեպքերում այն ​​թույլ է տալիս ազատվել նկարի արտեֆակտներից և գծերից։ Եվ դա ձեռք է բերվում ստացված կադրերի արագության կրկնակի բուֆերացման միջոցով, երբ մոնիտորի և վիդեո քարտի կադրերի արագությունը չեն համընկնում:

Այսօր v-sync-ը շատ խաղերում է: Այն աշխատում է մոտավորապես նույն կերպ, ինչ եռակի բուֆերացումը, բայց արժե շատ ավելի քիչ ռեսուրսներ, այդ իսկ պատճառով խաղի կարգավորումներում եռակի բուֆերավորումը կարելի է ավելի քիչ հաճախ տեսնել:

Ընտրելով միացնել կամ անջատել ուղղահայաց համաժամացումը, օգտվողը ընտրություն է կատարում որակի և կատարողականի միջև: Միացնելով այն՝ ավելի հարթ նկար է ստանում, բայց վայրկյանում ավելի քիչ կադրեր:

Անջատելով այն, նա ստանում է ավելինշրջանակներ, բայց զերծ չէ նկարի սրությունից և անփույթությունից: Մասնավորապես սա վերաբերում է ինտենսիվ և ռեսուրսային տեսարաններ, որտեղ հատկապես նկատելի է ուղղահայաց համաժամացման կամ եռակի բուֆերացման բացակայությունը:

Այս խորհրդավոր գրաֆիկը շատ խաղերի պարամետրերում այնքան էլ պարզ չէր, որքան թվում էր: Եվ հիմա այն օգտագործելու կամ չօգտագործելու ընտրությունը մնում է միայն ձեզ և խաղերում ձեր նպատակներին:

Համոզված եմ, որ շատ երկրպագուներ Համակարգչային խաղերբախվելով խաղերի վիդեո քարտերի կարգավորումներում այսպես կոչված «ուղղահայաց համաժամացման» կամ VSync-ի անջատման առաջարկությանը:

Գրաֆիկական կարգավորիչի կատարողականի շատ թեստերում ընդգծվում է, որ թեստավորումն իրականացվել է VSync-ի անջատմամբ:
Ի՞նչ է դա, և ինչու է դա անհրաժեշտ, եթե շատ «առաջադեմ փորձագետներ» խորհուրդ են տալիս անջատել այս գործառույթը:
Ուղղահայաց համաժամացման իմաստը հասկանալու համար հարկավոր է կարճ շեղում կատարել պատմության մեջ:

Համակարգչային առաջին մոնիտորներն աշխատում էին ֆիքսված լուծումներով և ֆիքսված թարմացման արագությամբ:
EGA մոնիտորների գալուստով անհրաժեշտություն առաջացավ ընտրել տարբեր լուծաչափեր, որոնք ապահովվում էին աշխատանքի երկու ռեժիմով, որոնք սահմանվում էին պատկերի համաժամացման ազդանշանների բևեռականությամբ ուղղահայաց երկայնքով:

Մոնիտորները, որոնք ապահովում են VGA լուծաչափը և ավելի բարձր, պահանջում են մաքրման հաճախականությունների ճշգրտում:
Դրա համար արդեն օգտագործվել է երկու ազդանշան, որոնք պատասխանատու են պատկերի համաժամացման համար և՛ հորիզոնական, և՛ ուղղահայաց։
Ժամանակակից մոնիտորներում հատուկ կարգավորիչ չիպը պատասխանատու է սկանավորումը կարգավորելու համար սահմանված բանաձեւին համապատասխան:

Ինչու՞ է «ուղղահայաց համաժամացման» տարրը պահվում վիդեո քարտի կարգավորումներում, եթե մոնիտորն ի վիճակի է ավտոմատ կերպով կարգավորվել վարորդում սահմանված ռեժիմին համապատասխան:
Փաստն այն է, որ չնայած այն հանգամանքին, որ վիդեո քարտերն ի վիճակի են վայրկյանում շատ մեծ թվով կադրեր ստեղծել, մոնիտորները չեն կարող այն բարձր որակով ցուցադրել, ինչի արդյունքում հայտնվում են տարբեր արտեֆակտներ՝ կապանք և «պատառոտված» պատկեր:

Սրանից խուսափելու համար վիդեո քարտերը նախատեսում են մոնիտորի նախնական հարցաքննության ռեժիմ՝ ուղղահայաց սկանավորման վերաբերյալ, որի հետ համաժամացվում է վայրկյանում կադրերի քանակը՝ ծանոթ fps:
Այսինքն՝ 85 Հց ուղղահայաց հաճախականության դեպքում ցանկացած խաղում վայրկյանում կադրերի քանակը չի գերազանցի ութսունհինգը։

Մոնիտորի ուղղահայաց թարմացման արագությունը վերաբերում է մեկ վայրկյանում պատկերով էկրանի թարմացման քանակին:
Կաթոդային խողովակի ցուցադրման դեպքում, անկախ նրանից, թե քանի կադր վայրկյանում գրաֆիկական արագացուցիչը թույլ է տալիս «քամել» խաղից, թարմացման արագությունը ֆիզիկապես չի կարող սահմանվածից բարձր լինել:

LCD մոնիտորներում ամբողջ էկրանի ֆիզիկական թարմացում չկա. այստեղ առանձին պիքսելները կարող են փայլել կամ չփայլել:
Այնուամենայնիվ, վիդեո ինտերֆեյսի միջոցով տվյալների փոխանցման հենց տեխնոլոգիան ապահովում է, որ շրջանակները վիդեո քարտից մոնիտորի վրա փոխանցվում են որոշակի արագությամբ:
Հետևաբար, որոշակի կոնվենցիայով, «ավլում» հասկացությունը կիրառելի է LCD էկրանի համար:

Որտեղի՞ց են գալիս պատկերային արտեֆակտները:
Ցանկացած խաղում գեներացված կադրերի քանակը վայրկյանում անընդհատ փոխվում է՝ կախված նկարի բարդությունից։
Քանի որ մոնիտորի թարմացման արագությունը հաստատուն է, վիդեո քարտով փոխանցվող fps-ի և մոնիտորի թարմացման արագության միջև ապասինխրոնիզացիան հանգեցնում է պատկերի աղավաղման, որը կարծես բաժանված է մի քանի կամայական գոտիների. դրանց մի մասը ժամանակ ունի թարմացնելու, իսկ մյուսը: չի.

Օրինակ, մոնիտորն աշխատում է 75 Հց թարմացման արագությամբ, իսկ խաղի վիդեո քարտը վայրկյանում հարյուր կադր է ստեղծում:
Այլ կերպ ասած, գրաֆիկական արագացուցիչը մոտ մեկ երրորդով ավելի արագ է, քան մոնիտորի թարմացման համակարգը:
Մեկ էկրանի թարմացման ժամանակ քարտը առաջացնում է 1 կադր և հաջորդի մեկ երրորդը, արդյունքում ընթացիկ շրջանակի երկու երրորդը նկարվում է էկրանին, իսկ դրա երրորդը փոխարինվում է հաջորդի երրորդ կադրով:

Հաջորդ թարմացման ժամանակ քարտը կարողանում է ստեղծել շրջանակի երկու երրորդը և հաջորդի երկու երրորդը և այլն։
Մոնիտորին, սկանավորման երեք ցիկլերից յուրաքանչյուր երկուսում մենք դիտարկում ենք պատկերի մեկ երրորդը մեկ այլ շրջանակից. նկարը կորցնում է իր հարթությունը և «կտրվում»:
Այս թերությունը հատկապես նկատելի է դինամիկ տեսարաններում կամ, օրինակ, երբ խաղի ձեր կերպարը նայում է շուրջը։

Այնուամենայնիվ, սկզբունքորեն սխալ կլինի ենթադրել, որ եթե վիդեո քարտին արգելված է ստեղծել վայրկյանում ավելի քան 75 կադր, ապա ամեն ինչ կարգին կլիներ էկրանի վրա պատկերի ցուցադրումը 75 Հց ուղղահայաց հաճախականությամբ:
Բանն այն է, որ սովորական, այսպես կոչված, «կրկնակի բուֆերացման» դեպքում մոնիտորի վրա կադրերը գալիս են առաջնային կադրային բուֆերից (առջևի բուֆեր), իսկ ռենդերը ինքնին կատարվում է երկրորդական բուֆերում (հետևի բուֆեր) .

Երբ երկրորդական բուֆերը լցվում է, շրջանակները մտնում են առաջնայինը, սակայն, քանի որ բուֆերների միջև պատճենման գործողությունը որոշակի ժամանակ է պահանջում, եթե մոնիտորի սկանավորումն այս պահին թարմացվի, պատկերի ցնցումը դեռ չի խուսափելու:

Ուղղահայաց համաժամացումը պարզապես լուծում է այս խնդիրները. մոնիտորը հարցաքննվում է թարմացման արագության համար, և կադրերի պատճենումը երկրորդական բուֆերից մինչև հիմնական արգելվում է մինչև պատկերը թարմացվի:
Այս տեխնոլոգիան հիանալի է աշխատում, երբ կադրերի արագությունը վայրկյանում գերազանցում է ուղղահայաց հաճախականությունը:
Բայց ի՞նչ, եթե կադրերի արագությունը իջնի թարմացման արագությունից:
Օրինակ, որոշ տեսարաններում մեր fps-ը 100-ից նվազում է մինչև 50:

Այս դեպքում տեղի է ունենում հետեւյալը.
Մոնիտորի պատկերը թարմացվում է, առաջին կադրը պատճենվում է առաջնային բուֆերին, իսկ երկրորդի երկու երրորդը «արտադրվում» է երկրորդական բուֆերում, որին հաջորդում է էկրանի պատկերի մեկ այլ թարմացում:
Այս պահին վիդեո քարտն ավարտում է երկրորդ կադրի մշակումը, որը դեռևս չի կարող ուղարկել հիմնական բուֆեր, և պատկերի հաջորդ թարմացումը տեղի է ունենում նույն շրջանակով, որը դեռ պահպանվում է առաջնային բուֆերում:

Այնուհետև այս ամենը կրկնվում է, և արդյունքում մենք ունենում ենք մի իրավիճակ, երբ էկրանի մեկ վայրկյանում կադրերի արագությունը երկու անգամ ցածր է սկանավորման հաճախականությունից և մեկ երրորդով ցածր է պոտենցիալ մատուցման արագությունից. վիդեո քարտը սկզբում «չի պահում: մոնիտորի հետ, այնուհետև այն, ընդհակառակը, պետք է սպասել, մինչև էկրանը նորից վերցնի հիմնական բուֆերում պահվող շրջանակը, և մինչև երկրորդական բուֆերում տեղ մնա նոր շրջանակը հաշվարկելու համար:

Ստացվում է, որ ուղղահայաց համաժամացման և կրկնակի բուֆերացման դեպքում մենք կարող ենք բարձրորակ պատկեր ստանալ միայն այն դեպքում, եթե վայրկյանում կադրերի քանակը հավասար է արժեքների դիսկրետ հաջորդականության մեկին, որը հաշվարկվում է որպես սկանավորման հաճախականության հարաբերակցություն: որոշ դրական ամբողջ թվի նկատմամբ:
Օրինակ՝ 60 Հց թարմացման արագությամբ կադրերի քանակը վայրկյանում պետք է լինի 60 կամ 30 կամ 15 կամ 12 կամ 10 և այլն։

Եթե ​​քարտի պոտենցիալ հնարավորությունները թույլ են տալիս գեներացնել վայրկյանում 60-ից և 30-ից ավելի կադրեր, ապա ռենդերների իրական արագությունը կնվազի մինչև 30 կադր/վ:

Թարգմանել... Թարգմանել չինարեն (պարզեցված) չինարեն (ավանդական) անգլերեն ֆրանսերեն գերմաներեն իտալերեն պորտուգալերեն ռուսերեն իսպաներեն թուրքերեն

Ցավոք, մենք չենք կարող թարգմանել այս տեղեկատվությունը այս պահին. խնդրում ենք փորձել ավելի ուշ:

Իմացեք, թե ինչպես օգտագործել պարզ ալգորիթմ՝ պատկերը էկրանի թարմացման արագության հետ համաժամեցնելու և տեսանյութի նվագարկման որակը բարելավելու համար:

Ներածություն

«Թվային տան» մեր տեսլականն աստիճանաբար իրականություն է դառնում: Վերջին տարիներին «թվային տան» համար ավելի ու ավելի շատ սարքեր են հայտնվել կոմերցիոն շուկայում: Առաջարկվող էլեկտրոնիկայի տեսականին շատ մեծ է՝ սկսած մուլտիմեդիա կարգավորիչներից, որոնք աջակցում են երաժշտության և վիդեո հեռարձակմանը մինչև սովորական համակարգչի պատյանների լայնածավալ ժամանցային համակարգեր:

Տնային մեդիա կենտրոնները դառնում են համակարգչային խանութների գնացուցակների ստանդարտ ապրանք, որը թույլ է տալիս դիտել և ձայնագրել հեռուստահաղորդումներ, պահել և նվագարկել թվային լուսանկարներ և երաժշտություն և այլն: Բացի այդ, որոշ վաճառողներ առաջարկում են հատուկ փաթեթներ, որոնց միջոցով օգտատերը կարող է իր համակարգիչը վերածել տնային մեդիա կենտրոնի:

Ցավոք, նման մեդիա կենտրոնները միշտ չէ, որ ապահովում են բարձրորակ վիդեո նվագարկում: Տեսանյութի անբավարար որակը սովորաբար պայմանավորված է այնպիսի գործոններով, ինչպիսիք են հոսքային բովանդակության սխալ բուֆերացումը և մատուցումը, միահյուսված տեսանյութերի մշակման ժամանակ անջատման ալգորիթմների բացակայությունը և վիդեո-աուդիո հոսքերի սխալ համաժամացումը: Այս խնդիրների մեծ մասը լավ ուսումնասիրված է և ունի լուծումներ, որոնք բավականաչափ հաշվի են առնվում արտադրողների կողմից։ Այնուամենայնիվ, կա ևս մեկ՝ պակաս հայտնի և ոչ այնքան ակնհայտ խնդիր, որը կարող է հանգեցնել չնչին, բայց դեռ նկատելի աղավաղումների՝ տեսանյութեր դիտելիս։ Մեր հոդվածը տալիս է այս խնդրի մանրամասն նկարագրությունը և քննարկում դրա լուծման ուղիներից մեկը:

Տնային մեդիա կենտրոնների աճող վաճառքի պայմաններում ավելի ու ավելի շատ սպառողներ հեռուստացույց են դիտում համակարգիչներով: Քանի որ այս հատվածը, որն այժմ պահանջված է սիրողական սիրահարների կողմից, ընդլայնվում է, կմեծանա նաև բարձրորակ տեսանյութերի պահանջարկը։

Գոյություն ունեն համակարգչով վիդեո նվագարկման որակը բարելավելու մի շարք մեթոդներ, և շատ վիդեո ծրագրեր արտադրողներ հաջողությամբ օգտագործել են դրանք: Միաժամանակ երբեմն այն փաստը, որ Տեսանյութերի նվագարկման ծրագրակազմը պետք է հաշվի առնի և ապահովի, որ տեսանյութը համաժամեցված է էկրանի թարմացման արագության հետ. Բանն այն է, որ հեռուստացույցներն ի սկզբանե տրամադրվում են հեռարձակման ստուդիայից եկող տեսաազդանշանի հետ համաժամացման համար։ Ի տարբերություն հեռուստացույցների, համակարգչային մոնիտորները թարմացնում են էկրանը ֆիքսված արագությամբ, որը սահմանված է գրաֆիկական ադապտերի կողմից և կապ չունի տեսաազդանշանի հետ։ Այս զգալի տարբերությունը կարող է շատ խնդիրներ առաջացնել, եթե ցանկանում եք համոզվել, որ տեսանյութը ճիշտ համաժամանակացված է համակարգչի էկրանի հետ: Ստորև մենք կփորձենք մանրամասն նկարագրությունայս խնդիրը և առաջարկել լուծում: Սակայն մինչ այդ մենք կցանկանայինք ընթերցողին ներկայացնել մի քանի հիմնական հասկացություններ, որոնք կքննարկվեն հոդվածում։

Ցուցադրել թարմացման ցիկլը

ԱՀ-ի էկրանի թարմացման արագությունը (էկրանի թարմացման արագությունը) համաժամացվում է գրաֆիկական ադապտերի (վիդեո քարտի) հաճախականության հետ: Դիտարկենք ամենատարածված օրինակը, երբ վիդեո քարտը և մոնիտորը աջակցում են 60 Հց հաճախականությանը: Այս համադրությունը հնարավոր է շնորհիվ այն բանի, որ մոնիտորը սինխրոնացված է վիդեո քարտից եկող 60 Հց ազդանշանի հետ։ Փաստորեն, մոնիտորը պահպանում է համաժամացումը նույնիսկ գրաֆիկական ադապտերի ելքային հաճախականության աննշան շեղման դեպքում (օրինակ՝ 60,06 Հց ստանդարտ 60 Հց-ի փոխարեն):

Թարմացման ցիկլի ընթացքում էկրանի պատկերը վերագրվում է ցուցադրման բուֆերից (գրաֆիկական ադապտեր հասցեային հիշողություն): Էկրանի յուրաքանչյուր հորիզոնական գիծը հաջորդաբար թարմացվում է տեսահիշողության բուֆերում պարունակվող նոր տվյալներին համապատասխան: թարմացվել է այս պահինժամանակային գիծը կոչվում է սկան գիծ: 60 Հց հաճախականությամբ գրաֆիկական ադապտերների դեպքում էկրանի թարմացման գործընթացը տեղի է ունենում վայրկյանում 60 անգամ, ուստի համակարգչի մոնիտորի պատկերը նույնպես թարմացվում է վայրկյանում 60 անգամ:

Նկար 1 - Ցուցադրման թարմացում

Պատկերը պատռող արտեֆակտներ

Տեղյակ եղեք գրաֆիկական ոչ միատեսակ բուֆերի թարմացման հնարավոր խնդրի մասին: Եթե ​​վիդեո հիշողության բուֆերի պարունակությունը փոխվել է այն ժամանակ, երբ մոնիտորի վրա պատկերը դեռ ամբողջությամբ գծված չէ (թարմացման ցիկլը չի ​​ավարտվել), ապա կցուցադրվի միայն սկանավորման գծին հաջորդող նոր պատկերի մասը։ էկրանին (տես Նկ. Բրինձ. 2) Պատկերի այս արտեֆակտը, որը ցույց է տալիս հին պատկերը էկրանի վերևում և նոր պատկերը ներքևում, կոչվում է պատռում: Իրականում այս տերմինը շատ նկարագրական է, քանի որ ստացված պատկերը կարծես «պատառոտված» է կիսով չափ։

Նկար 2 - Պատկերի «բացի» արտեֆակտներ

Թիմի շրջադարձ

«Արցունքները» կանխելու միջոցներից մեկը համոզվելն է, որ վիդեո հիշողության բովանդակությունը թարմացվում է դրանից հետոինչպես է ավարտվում ցուցադրման թարմացման ցիկլը և մինչ այդերբ սկսվում է հաջորդ ցիկլը: Այլ կերպ ասած, թարմացումը պետք է տեղի ունենա հակադարձ մաքրման ժամանակ: Այնուամենայնիվ, այս մեթոդը պահանջում է համապատասխան փոփոխություններ ծրագրային ապահովման մեջ, որը պետք է բավարար ճշգրտությամբ հաշվարկի պատկերի փոփոխության կարգը:

Այդ իսկ պատճառով առաջարկվել է բուֆերային անջատման համաժամացման ալգորիթմ (Flip): Flip հրամանն իր բնույթով շատ պարզ է. այն թույլ է տալիս ծրագրին թարմացնել պատկերը էկրանի թարմացման ցիկլի ցանկացած ժամանակ, սակայն դրա արդյունքը իրականում չի փոխանցվում վիդեո հիշողությանը մինչև ընթացիկ ցիկլը ավարտվի: Այսպիսով, մոնիտորի վրա պատկերի թարմացումը տեղի է ունենում Flip հրամանի կատարմանը հաջորդող միջակայքում: Բուֆերային համաժամացման մեթոդով պատկերի «պատռումը» վերացվում է, քանի որ Flip հրամանը ապահովում է, որ ամբողջական նոր պատկերը պատրաստ է յուրաքանչյուր թարմացման ցիկլի համար (տես ստորև): Բրինձ. 3) Այնուամենայնիվ, հաջորդ բաժնում մենք ցույց կտանք, որ միայն Flip հրամանի օգտագործումը չի երաշխավորում, որ բոլոր խնդիրները կլուծվեն:

Նկար 3 - Շրջել հրամանի հաջորդականությունը

Հնարավոր խնդիրներ

Համաժամացման ալգորիթմի օգտագործումը մեծ առավելություններ ունի և օգնում է վերացնել պատռվող արտեֆակտները, սակայն մեկ էական խնդիր մնում է:

Flip հրամանն օգտագործելիս փոխվում են տեսահոլովակի ծրագրաշարի մատուցման պայմանները: Flip-ը գործարկելու համար ծրագրաշարը պետք է կարգավորի շրջանակի բուֆերի թարմացման միջակայքը (կադրերի արագությունը)՝ ըստ որոշակի շրջանակի արագության: Միակ ժամացույցի արագությունը, որով կադրերը կարող են համաժամացվել, էկրանի թարմացման արագությունն է (կամ մի քանի անգամ): Այլ կերպ ասած, նոր շրջանակը կարող է ցուցադրվել միայն թարմացման ցիկլի սկզբում. իրականում կադրերի միջակայքերը կապված են էկրանի թարմացման արագության հետ:

Նկար 4 - Կադրերի արագությունը և ցուցադրման հաճախականության անհամապատասխանությունը

Այս փաստը ենթադրում է, որ եթե էկրանի թարմացման արագությունը նույնը չէ, ինչ նվագարկվող բովանդակության կադրերի արագությունը, կամ դրա բազմապատիկը չէ, էկրանի բովանդակությունը չի կարող ամբողջությամբ վերարտադրվել: Վրա Բրինձ. չորսցուցադրված է այս խնդրի հատուկ դեպքը: Այս սցենարում բովանդակության շրջանակի արագությունն ավելի դանդաղ է, քան էկրանի թարմացման արագությունը: Այս երկու հաճախականությունների միջև փուլային տեղաշարժի պատճառով երկու կադրերի համար Flip հրամանի միջակայքերը ի վերջո ձգվելու են թարմացման ամբողջական ցիկլի համար (նկատի ունեցեք 3 և 4 կադրերի ժամանակացույցը): Արդյունքում, շրջանակ 3-ը կցուցադրվի գրեթե երկու անգամ ավելի երկար, քան պահանջվում է: Այսպիսով, դուք պետք է ձգտեք համապատասխանեցնել էկրանի կադրերի արագությունը և թարմացման արագությունը, թեև դա միշտ չէ, որ հնարավոր է:

Դիտարկվող իրավիճակը սրվում է միայն այն դեպքում, եթե կադրերի արագության և էկրանի թարմացման արագության միջև տարբերությունը փոքր է: Երբ կադրերի ժամանակները մոտ են թարմացման ցիկլի ընդմիջումներին, նույնիսկ ծրագրային ժամաչափի հաշվարկի փոքր անճշտությունները կարող են հանգեցնել մի քանի հաջորդական Flip հրամանների շեղմանը թարմացման սկզբի համեմատ: Սա նշանակում է, որ Flip-ի որոշ հրամաններ կաշխատեն շատ վաղ, իսկ որոշները՝ շատ ուշ, ինչի արդյունքում «կրկնվող» և «թողնված» շրջանակներ կան: Այս դեպքը պատկերված է Բրինձ. 5– ժմչփը ճիշտ չի աշխատում (անկանոն ընդմիջումներով), արդյունքում 2-րդ և 4-րդ կադրերը չեն ցուցադրվում, իսկ 3-րդ և 5-րդ կադրերը ցուցադրվում են երկու անգամ:

Նկար 5 - Flip-ի օգտագործման արդյունքը ժամանակաչափի խափանումների վրա

Այս երևույթը կարող է առաջանալ նույնիսկ այն դեպքում, երբ բովանդակության կադրերի արագությունը և էկրանի թարմացման արագությունը նույնն են: Ակնհայտ է, որ միայն ժմչփի և Flip հրամանի օգտագործումը բավարար չէ բարձրորակ վիդեո նվագարկումն ապահովելու համար: Ինչպես բացատրվեց հաջորդ բաժնում, որպեսզի Flip հրամանները ճիշտ կատարվեն, ծրագրաշարը պետք է պահպանի խելացի համաժամացումը էկրանի թարմացման ցիկլերի հետ:

Timeming Flip հրամաններ

Ինչպես նշվեց վերևում, Flip հրամանի օգտագործումը թույլ է տալիս հաշվի առնել էկրանի թարմացման ցիկլերը վիդեո կադրերը ցուցադրելիս: Յուրաքանչյուր նոր փոխանցված շրջանակ ցուցադրվում է էկրանի թարմացման միայն մեկ ամբողջական ցիկլի համար: Այսպիսով, Flip հրամանն օգտագործելիս ծրագրաշարը պետք է ճշգրիտ հաշվարկի ոչ միայն այն ժամանակ, երբ յուրաքանչյուր կադր պետք է ցուցադրվի, այլ նաև որոշի թարմացման հատուկ ցիկլը՝ շրջանակների ելքը օպտիմալ կերպով համաժամեցնելու համար:

Ավելի լավ է Flip հրամանը կանչել թարմացման ցիկլի հենց սկզբում, համապատասխան շրջանակի թարմացման միջակայքի մեկնարկից անմիջապես առաջ (տես օրինակ. Բրինձ. 3) Սա տալիս է հրամանը իրականում կատարելու ամենաբարձր հավանականությունը մինչև համապատասխան թարմացման ցիկլի սկիզբը և ապահովում է, որ շրջանակը թողարկվի ճիշտ ժամանակին: Նկատի ունեցեք, որ այն դեպքերում, երբ տեսանյութի կադրերի արագությունը և ցուցադրման թարմացման արագությունը չեն համընկնում, Flip-ի կադրերի թարմացման ցիկլի օպտիմալացումը բավարար չէ տեսանյութի ընդունելի որակ ապահովելու համար: Կան բովանդակության շրջանակները շրջանակելու կամ փոփոխելու որոշ եղանակներ, որոնք լուծում են այս խնդիրները, սակայն դրանք դուրս են այս հրապարակման շրջանակներից:

Մի քանի Օպերացիոն համակարգերապահովել ծրագրավորման միջերեսներ, որոնց միջոցով հավելվածները կարող են համաժամանակյա լինել էկրանի թարմացման ցիկլի հետ: Մասնավորապես, Microsoft DirectX 9.0 միջավայրը ներառում է մի քանի ընթացակարգեր, որոնք կարող են շատ օգտակար լինել մեր դեպքում։ Հաջորդը, մենք կդիտարկենք DirectX ստանդարտ ընթացակարգերը որպես հետազոտվող խնդրի լուծման օրինակելի մեթոդներ: Ընթերցողները կարող են օգտագործել այս օրինակները՝ ուսումնասիրելու առաջարկվող մեթոդները և գտնել նմանատիպ լուծումներ այլ օպերացիոն համակարգերում:

WaitForVerticalBlank()Ստանդարտ ընթացակարգ է DirectDraw գրադարանում (IDirectDraw ինտերֆեյսի շրջանակներում), որն արգելափակում է շարանը մուտք գործել միջերես մինչև թարմացման հաջորդ փուլի սկիզբը: Այս ընթացակարգը կարող է օգտագործվել համաժամացման համար, սակայն այն պետք է արվի մեկ անգամ կամ զգալի ընդմիջումով, քանի որ մուտք գործելու համար ժամանակատար է: Այնուամենայնիվ, այս ընթացակարգը օգտակար է թարմացման ցիկլի հետ նախնական համաժամացումն իրականացնելիս:

GetScanLine ()ստանդարտ ընթացակարգ է, որը կարող է օգտագործվել տեղեկատվություն ստանալու համար, թե որ սկանլայնն է այժմ թարմացվում էկրանին: Եթե ​​տողերի ընդհանուր թիվը և ընթացիկ սկանավորման գիծը հայտնի են, դժվար չէ որոշել էկրանի թարմացման ցիկլի վիճակը: Օրինակ, եթե ցուցադրման տողերի ընդհանուր թիվը 1024 է, և ընթացակարգը GetScanLine ()վերադարձնում է 100, ընթացիկ թարմացման ցիկլը ներկայումս 100-ից 1024 է, ինչը մոտ 10 տոկոսով ավարտված է: Դիմում GetScanLine ()հավելվածին թույլ է տալիս վերահսկել թարմացման հանգույցի վիճակը և դրա հիման վրա որոշել, թե որ ցիկլին պետք է կապել հաջորդ ցուցադրված շրջանակը և սահմանել ժմչփ բուֆերային անջատման ցանկալի ժամանակի համար: Ստորև բերված է ալգորիթմի օրինակ.

Նկար 6

Կադրերի փոփոխման ժամանակը ընտրվում է ոչ միայն նոր պատկերի շրջանակների հաշվարկի հիման վրա, այլև հաշվի առնելով էկրանի թարմացման արագությունը: Քանի որ շրջանակները ցուցադրվում են էկրանին միայն այն ժամանակ, երբ էկրանը թարմացվում է, անհրաժեշտ է համոզվել, որ յուրաքանչյուր կադր «հարվածում» է թարմացման ճիշտ ցիկլին: Այսպիսով, իդեալական տարբերակում պատկերների կադրավորումը պետք է ճիշտ համապատասխանի էկրանի թարմացման արագությանը: Այս դեպքում յուրաքանչյուր շրջանակ կգծվի էկրանի վրա ճիշտ ժամանակին:

Այլընտրանքային լուծում ձայնագրված բովանդակության համար

Հարցերը, որոնք մենք քննարկում ենք, վերաբերում են վիդեո նվագարկման բոլոր սցենարներին՝ ինչպես ուղիղ եթերների, այնպես էլ ձայնագրված տեսանյութը նվագարկելու դեպքում։ Սակայն վերջին դեպքում կարելի է այլընտրանքային լուծման դիմել։ Եթե ​​բովանդակության կադրերի արագության և ցուցադրման թարմացման արագության միջև տարբերությունը փոքր է, կարող եք կարգավորել տեսանյութի կադրերի արագությունը (և նույն կերպ կարգավորել աուդիո հոսքը), որպեսզի համապատասխանի էկրանի թարմացման արագությանը, առանց բովանդակության որակը խախտելու: Որպես օրինակ, եկեք վերցնենք 59,94 կադր/վրկ (Bob deinterlaced) ստանդարտ սահմանման հեռուստատեսային ազդանշան 60 Հց հաճախականությամբ մոնիտորի վրա: Արագացնելով վիդեո և աուդիո նվագարկումը մինչև 60 կադր վայրկյանում, դուք կարող եք համոզվել, որ կադրերի արագությունը համընկնում է էկրանի թարմացման միջակայքերի հետ, և միևնույն ժամանակ պատկերի արտեֆակտներ չեն լինի:

Ամփոփում

Այս հրապարակումը նվիրված է պատկերների համաժամացման մեթոդներին, մասնավորապես, պատկերի պատռման արտեֆակտների կանխարգելմանը Flip հրամանի միջոցով: Հոդվածը նաև անդրադառնում է այն դեպքերին, երբ Flip հրամանը խնդիրներ է առաջացնում էկրանի թարմացման ցիկլերի հետ խիստ համաժամացման հետևանքով: Կադրերի ճիշտ ժամանակացույցը և Flip հրամանների օգտագործումը կարող են պատճառ դառնալ, որ կադրերի ժամանակներն ու միջակայքերը տարբերվեն ծրագրային հավելվածի ակնկալածից: Թերթը եզրակացնում է, որ Flip հրամաններն օգտագործելու ճիշտ ձևը Flip համաժամացումը էկրանի թարմացման արագության հետ համատեղելն է և պատկերի հաշվարկման ցիկլը օպտիմալացնելը՝ հաշվի առնելով դրա հետագա արդյունքը: Այսպիսով, Flip ինտերվալները կարող են ճշգրտվել ծրագրային ապահովման մեջ: Լավագույն որակՏեսանյութը ձեռք է բերվում, երբ բովանդակության կադրերի արագությունը համընկնում է էկրանի թարմացման արագության հետ: Այնուամենայնիվ, գործնականում դա միշտ չէ, որ հասանելի է: Այս հոդվածում նկարագրված ալգորիթմները կօգնեն նվազագույնի հասցնել պատկերների արտեֆակտները:

Ժամանակակից խաղերում օգտագործվում են ավելի ու ավելի շատ գրաֆիկական էֆեկտներ և տեխնոլոգիաներ, որոնք բարելավում են պատկերը: Միևնույն ժամանակ, մշակողները սովորաբար չեն անհանգստանում բացատրել, թե կոնկրետ ինչ են անում: Երբ ամենաարդյունավետ համակարգիչը հասանելի չէ, որոշ հնարավորություններ պետք է զոհաբերվեն: Փորձենք դիտարկել, թե ինչ են նշանակում գրաֆիկական ամենատարածված տարբերակները, որպեսզի ավելի լավ հասկանանք, թե ինչպես կարելի է ազատել համակարգչի ռեսուրսները գրաֆիկայի համար նվազագույն հետևանքներով:

Անիզոտրոպ ֆիլտրում

Երբ մոնիտորի վրա որևէ հյուսվածք ցուցադրվում է ոչ իր սկզբնական չափսով, անհրաժեշտ է դրա մեջ տեղադրել լրացուցիչ պիքսելներ կամ, ընդհակառակը, հեռացնել ավելորդները: Դա արվում է ֆիլտրում կոչվող տեխնիկայի միջոցով:

Երկգծային ֆիլտրումը ամենապարզ ալգորիթմն է և պահանջում է ավելի քիչ հաշվողական հզորություն, բայց նաև տալիս է ամենավատ արդյունքը: Trilinear-ը ավելացնում է պարզություն, բայց դեռևս առաջացնում է արտեֆակտներ: Անիզոտրոպային զտումը համարվում է ամենաառաջադեմ մեթոդը, որը վերացնում է տեսախցիկի նկատմամբ խիստ թեքված օբյեկտների նկատելի աղավաղումները: Ի տարբերություն երկու նախորդ մեթոդների, այն հաջողությամբ պայքարում է ալիազինգի էֆեկտի դեմ (երբ հյուսվածքի որոշ հատվածներ ավելի շատ են լղոզվում, քան մյուսները, և նրանց միջև սահմանը դառնում է հստակ տեսանելի): Երկգծային կամ եռագիծ ֆիլտրում օգտագործելիս, քանի որ հեռավորությունը մեծանում է, հյուսվածքն ավելի ու ավելի է լղոզվում, մինչդեռ անիզոտրոպ ֆիլտրումն այս թերությունը չունի։

Հաշվի առնելով մշակվող տվյալների քանակը (և տեսարանում կարող են լինել շատ բարձր լուծաչափով 32 բիթ հյուսվածքներ), անիզոտրոպ ֆիլտրումը հատկապես պահանջկոտ է հիշողության թողունակության համար: Դուք կարող եք նվազեցնել երթևեկությունը հիմնականում հյուսվածքների սեղմման շնորհիվ, որն այժմ օգտագործվում է ամենուր: Նախկինում, երբ այն ավելի քիչ էր կիրառվում, և տեսահիշողության թողունակությունը շատ ավելի ցածր էր, անիզոտրոպ ֆիլտրումը զգալիորեն նվազեցրեց կադրերի քանակը: Ժամանակակից վիդեո քարտերի վրա այն գրեթե չի ազդում fps-ի վրա:

Անիզոտրոպ ֆիլտրումն ունի միայն մեկ պարամետր՝ ֆիլտրի գործակիցը (2x, 4x, 8x, 16x): Որքան բարձր է այն, այնքան ավելի պարզ և բնական տեսք ունի հյուսվածքները: Սովորաբար, մեծ արժեքով, փոքր արտեֆակտները տեսանելի են միայն թեքված հյուսվածքների ամենաարտաքին պիքսելների վրա: 4x և 8x արժեքները սովորաբար բավարար են տեսողական խեղաթյուրման առյուծի բաժինից ազատվելու համար: Հետաքրքիր է, որ 8x-ից 16x գնալիս կատարողականի հարվածը բավականին փոքր կլինի, նույնիսկ տեսականորեն, քանի որ նախկինում չզտված փիքսելների միայն մի փոքր մասը լրացուցիչ մշակման կարիք կունենա:

Շեյդերներ

Շեյդերները փոքր ծրագրեր են, որոնք կարող են որոշակի մանիպուլյացիաներ կատարել 3D տեսարանի վրա, ինչպիսիք են լուսավորությունը փոխելը, հյուսվածքների կիրառումը, հետմշակման ավելացումը և այլ էֆեկտներ:

Շեյդերները բաժանվում են երեք տեսակի՝ գագաթ (Vertex Shader) գործում է կոորդինատներով, երկրաչափական (Geometry Shader) կարող է մշակել ոչ միայն առանձին գագաթներ, այլև ամբողջ։ երկրաչափական պատկերներ, որը բաղկացած է առավելագույնը 6 գագաթից, պիքսել (Pixel Shader) աշխատում է առանձին պիքսելներով և դրանց պարամետրերով։

Շեյդերները հիմնականում օգտագործվում են նոր էֆեկտներ ստեղծելու համար։ Առանց դրանց, գործողությունների շարքը, որոնք մշակողները կարող էին օգտագործել խաղերում, շատ սահմանափակ է: Այսինքն՝ շեյդերների ավելացումը հնարավորություն տվեց ձեռք բերել նոր էֆեկտներ, որոնք լռելյայն ներառված չէին վիդեո քարտում։

Շեյդերները զուգահեռաբար աշխատում են շատ արդյունավետ, այդ իսկ պատճառով ժամանակակից գրաֆիկական ադապտերներն ունեն շատ հոսքային պրոցեսորներ, որոնք նաև կոչվում են շեյդերներ։ Օրինակ, GeForce GTX 580-ում դրանք 512-ն են:

Parallax քարտեզագրում

Parallax քարտեզագրումը հայտնի bumpmapping տեխնիկայի փոփոխված տարբերակն է, որն օգտագործվում է հյուսվածքները դաջելու համար: Parallax քարտեզագրումը 3D առարկաներ չի ստեղծում բառի սովորական իմաստով: Օրինակ՝ խաղի տեսարանում հատակը կամ պատը կոպիտ տեսք կունենա՝ իրականում մնալով ամբողջովին հարթ: Ռելիեֆի էֆեկտն այստեղ ձեռք է բերվում միայն հյուսվածքների հետ մանիպուլյացիաների միջոցով:

Պարտադիր չէ, որ բնօրինակ առարկան հարթ լինի: Մեթոդն աշխատում է տարբեր խաղային իրեր, սակայն դրա օգտագործումը ցանկալի է միայն այն դեպքերում, երբ մակերեսի բարձրությունը սահուն փոխվում է։ Սուր կաթիլները սխալ են մշակվում, և առարկայի վրա հայտնվում են արտեֆակտներ:

Parallax քարտեզագրումը զգալիորեն խնայում է համակարգչի հաշվողական ռեսուրսները, քանի որ նման մանրամասն 3D կառուցվածքով անալոգային օբյեկտներ օգտագործելիս վիդեո ադապտերների կատարումը բավարար չի լինի տեսարանները իրական ժամանակում ցուցադրելու համար:

Էֆեկտը առավել հաճախ կիրառվում է քարե մայթերի, պատերի, աղյուսների և սալիկների վրա:

Anti-Aliasing

Մինչ DirectX 8-ի հայտնվելը, խաղերում հակաալիզինգը կատարվում էր SuperSampling Anti-Aliasing (SSAA) միջոցով, որը նաև հայտնի է որպես Full-Scene Anti-Aliasing (FSAA): Դրա օգտագործումը հանգեցրեց կատարողականի զգալի նվազմանը, ուստի DX8-ի թողարկմամբ այն անմիջապես լքվեց և փոխարինվեց Multisample Anti-Aliasing-ով (MSAA): Չնայած այն հանգամանքին, որ այս մեթոդը ավելի վատ արդյունքներ տվեց, այն շատ ավելի արդյունավետ էր, քան իր նախորդը: Այդ ժամանակից ի վեր ավելի առաջադեմ ալգորիթմներ են հայտնվել, օրինակ՝ CSAA:

Հաշվի առնելով, որ վերջին մի քանի տարիների ընթացքում վիդեո քարտերի արդյունավետությունը նկատելիորեն աճել է, և՛ AMD-ն, և՛ NVIDIA-ն իրենց արագացուցիչներին վերադարձրել են SSAA տեխնոլոգիայի աջակցությունը: Այնուամենայնիվ, նույնիսկ այժմ այն ​​հնարավոր չի լինի օգտագործել ժամանակակից խաղերում, քանի որ շրջանակների/վ-երի քանակը շատ քիչ կլինի: SSAA-ն արդյունավետ կլինի միայն նախորդ տարիների կամ ընթացիկ նախագծերում, սակայն այլ գրաֆիկական պարամետրերի համեստ կարգավորումներով: AMD-ն ներդրել է SSAA աջակցություն միայն DX9 խաղերի համար, սակայն NVIDIA-ում SSAA-ն գործում է նաև DX10 և DX11 ռեժիմներով:

Հարթեցման սկզբունքը շատ պարզ է. Մինչ կադրը էկրանին կցուցադրվի, որոշակի տեղեկատվությունը հաշվարկվում է ոչ թե բնիկ լուծաչափով, այլ ավելացված և երկուսի բազմապատիկ: Այնուհետև արդյունքը կրճատվում է մինչև պահանջվող չափը, իսկ հետո օբյեկտի եզրերի երկայնքով «սանդուղքը» դառնում է ավելի քիչ նկատելի։ Որքան բարձր լինի բնօրինակ պատկերը և հարթեցման գործակիցը (2x, 4x, 8x, 16x, 32x), այնքան քիչ քայլեր կլինեն մոդելների վրա: MSAA-ն, ի տարբերություն FSAA-ի, հարթեցնում է միայն օբյեկտների եզրերը, ինչը զգալիորեն խնայում է գրաֆիկական քարտի ռեսուրսները, սակայն այս տեխնիկան կարող է արտեֆակտներ թողնել պոլիգոնների ներսում:

Նախկինում Anti-Aliasing-ը խաղերում միշտ զգալիորեն նվազեցրել է fps-ը, սակայն այժմ այն ​​փոքր-ինչ ազդում է կադրերի քանակի վրա և երբեմն ընդհանրապես չի ազդում:

թեսսելացիա

Օգտագործելով թեսելլյացիա համակարգչային մոդելում, բազմանկյունների թիվն ավելանում է կամայական թվով անգամներով: Դա անելու համար յուրաքանչյուր բազմանկյուն բաժանվում է մի քանի նորերի, որոնք գտնվում են մոտավորապես նույնը, ինչ սկզբնական մակերեսը: Այս մեթոդը հեշտացնում է պարզ 3D օբյեկտների դետալների մեծացումը: Այս դեպքում, սակայն, համակարգչի ծանրաբեռնվածությունը նույնպես կավելանա, իսկ որոշ դեպքերում նույնիսկ փոքր արտեֆակտները չեն կարող բացառվել:

Առաջին հայացքից tessellation-ը կարելի է շփոթել Parallax քարտեզագրման հետ: Թեև դրանք բոլորովին այլ էֆեկտներ են, քանի որ թեսելացումը իրականում փոխում է օբյեկտի երկրաչափական ձևը և ոչ միայն նմանակում է ռելիեֆը: Բացի այդ, այն կարող է օգտագործվել գրեթե ցանկացած օբյեկտի համար, մինչդեռ Parallax քարտեզագրման օգտագործումը շատ սահմանափակ է:

Tessellation տեխնոլոգիան հայտնի է կինոյում 80-ականներից, բայց այն միայն վերջերս է աջակցվում խաղերում, ավելի ճիշտ այն բանից հետո, երբ գրաֆիկական արագացուցիչները վերջապես հասան կատարման պահանջվող մակարդակին, որով այն կարող է իրականացվել իրական ժամանակում:

Որպեսզի խաղն օգտագործի tessellation, այն պահանջում է գրաֆիկական քարտ, որն աջակցում է DirectX 11-ին:

Ուղղհայաց համաչափություն

V-Sync-ը խաղի շրջանակների համաժամացումն է մոնիտորի ուղղահայաց թարմացման արագության հետ: Դրա էությունը կայանում է նրանում, որ ամբողջությամբ հաշվարկված խաղի շրջանակը ցուցադրվում է էկրանին այն պահին, երբ նկարը թարմացվում է դրա վրա: Կարևոր է, որ հաջորդ կադրը (եթե այն արդեն պատրաստ է) նույնպես հայտնվի ոչ ուշ և ոչ շուտ, քան ավարտվի նախորդի ելքը և սկսվի հաջորդը։

Եթե ​​մոնիտորի թարմացման արագությունը 60 Հց է, և վիդեո քարտը կարողանում է նկարել 3D տեսարան առնվազն նույն թվով կադրերով, ապա յուրաքանչյուր մոնիտորի թարմացում կցուցադրի նոր կադր: Այսինքն՝ 16,66 ms ընդմիջումով օգտատերը էկրանին կտեսնի խաղի տեսարանի ամբողջական թարմացում։

Պետք է հասկանալ, որ երբ ուղղահայաց համաժամացումը միացված է, խաղի fps-ը չի կարող գերազանցել մոնիտորի ուղղահայաց թարմացման արագությունը: Եթե ​​կադրերի քանակը այս արժեքից ցածր է (մեր դեպքում՝ 60 Հց-ից պակաս), ապա կատարողականի կորուստներից խուսափելու համար անհրաժեշտ է ակտիվացնել եռակի բուֆերավորումը, որում շրջանակները նախապես հաշվարկվում են և պահվում երեք առանձին բուֆերներում։ , ինչը թույլ է տալիս դրանք ավելի հաճախ ուղարկել էկրանին։

Ուղղահայաց համաժամացման հիմնական խնդիրն է վերացնել տեղաշարժված շրջանակի ազդեցությունը, որը տեղի է ունենում, երբ էկրանի ստորին մասը լցված է մեկ շրջանակով, իսկ վերին մասը արդեն լցված է մեկ այլ շրջանակով, որը տեղափոխվել է նախորդի համեմատ:

հետմշակում

Սա բոլոր այն էֆեկտների ընդհանուր անվանումն է, որոնք կիրառվում են ամբողջությամբ ցուցադրված 3D տեսարանի արդեն ավարտված շրջանակի վրա (այլ կերպ ասած՝ երկչափ պատկերի վրա)՝ վերջնական նկարի որակը բարելավելու համար: Հետմշակումը օգտագործում է պիքսելների ստվերներ և օգտագործվում է այն դեպքերում, երբ լրացուցիչ էֆեկտները պահանջում են ամբողջական տեղեկատվություն ամբողջ տեսարանի մասին: Առանձին 3D օբյեկտների մեկուսացման դեպքում նման տեխնիկան չի կարող կիրառվել առանց շրջանակում արտեֆակտների հայտնվելու:

Բարձր դինամիկ միջակայք (HDR)

Էֆեկտ, որը հաճախ օգտագործվում է հակապատկեր լուսավորությամբ խաղի տեսարաններում: Եթե ​​էկրանի մի հատվածը շատ պայծառ է, իսկ մյուսը շատ մութ է, ապա յուրաքանչյուր հատվածում շատ մանրամասներ կորչում են, և այն միապաղաղ է թվում: HDR-ն ավելացնում է ավելի շատ աստիճանավորումներ կադրին և թույլ է տալիս մանրամասնել տեսարանը: Այն օգտագործելու համար սովորաբար պետք է աշխատել երանգների ավելի լայն շրջանակի հետ, քան կարող է ապահովել ստանդարտ 24-բիթանոց ճշգրտությունը: Նախնական հաշվարկները տեղի են ունենում բարձր ճշգրտությամբ (64 կամ 96 բիթ), և միայն վերջնական փուլում պատկերը ճշգրտվում է մինչև 24 բիթ:

HDR-ը հաճախ օգտագործվում է տեսողության հարմարեցման էֆեկտն իրականացնելու համար, երբ խաղերի հերոսը մութ թունել է թողնում լավ լուսավորված մակերեսի վրա:

Ծաղկել

Bloom-ը հաճախ օգտագործվում է HDR-ի հետ համատեղ, և այն ունի նաև բավականին մոտ ազգական՝ Glow, ինչի պատճառով այս երեք տեխնիկան հաճախ շփոթվում են:

Bloom-ը նմանակում է էֆեկտը, որը կարելի է տեսնել սովորական տեսախցիկներով շատ վառ տեսարաններ նկարահանելիս: Ստացված պատկերում ինտենսիվ լույսը կարծես ավելի շատ ծավալ է վերցնում, քան պետք է, և «մագլցում» է առարկաների վրա, թեև գտնվում է դրանց հետևում: Bloom-ն օգտագործելիս օբյեկտների եզրագծերի վրա կարող են հայտնվել լրացուցիչ արտեֆակտներ՝ գունավոր գծերի տեսքով:

Ֆիլմի հացահատիկ

Հացահատիկը արտեֆակտ է, որը հայտնվում է վատ ազդանշանով անալոգային հեռուստացույցում, հին մագնիսական տեսաերիզների կամ լուսանկարների վրա (մասնավորապես՝ ցածր լույսի ներքո արված թվային պատկերներ): Խաղացողները հաճախ անջատվում են այս ազդեցությունը, քանի որ այն որոշ չափով փչացնում է պատկերը և չի բարելավում այն։ Սա հասկանալու համար կարելի է վազել զանգվածային ազդեցությունռեժիմներից յուրաքանչյուրում: Որոշ «սարսափ ֆիլմերում», օրինակ Silent Hill, էկրանի աղմուկը, ընդհակառակը, մթնոլորտ է ավելացնում։

շարժման պղտորում

Motion Blur - տեսախցիկը արագ տեղափոխելիս պատկերը լղոզելու էֆեկտ: Այն կարող է հաջողությամբ օգտագործվել, երբ տեսարանին պետք է տրվի ավելի դինամիկա և արագություն, հետևաբար այն հատկապես պահանջարկ ունի մրցարշավային խաղեր. Կրակողների մոտ մշուշի օգտագործումը միշտ չէ, որ միանշանակ է ընկալվում: Motion Blur-ի ճիշտ կիրառումը կարող է կինեմատոգրաֆիկ որակ հաղորդել այն ամենին, ինչ տեղի է ունենում էկրանին:

Անհրաժեշտության դեպքում էֆեկտը կօգնի նաև քողարկել: ցածր հաճախականությունփոխել շրջանակները և ավելացնել սահուն խաղը:

SSAO

Ambient occlusion-ը տեխնիկա է, որն օգտագործվում է տեսարանին ֆոտոռեալիզմ ավելացնելու համար՝ ստեղծելով դրա առարկաների ավելի վստահելի լուսավորություն, որը հաշվի է առնում մոտակայքում գտնվող այլ առարկաների առկայությունը՝ լույսի կլանման և արտացոլման իրենց առանձնահատկություններով:

Screen Space Ambient Occlusion-ը Ambient Occlusion-ի փոփոխված տարբերակն է և նաև նմանակում է անուղղակի լուսավորությունն ու ստվերումը: SSAO-ի հայտնվելը պայմանավորված էր նրանով, որ GPU-ի կատարողականի ներկայիս մակարդակում Ambient Occlusion-ը չէր կարող օգտագործվել իրական ժամանակում տեսարանների ցուցադրման համար: SSAO-ում կատարողականի բարձրացման համար դուք պետք է վճարեք ավելի ցածր որակով, բայց նույնիսկ դա բավարար է նկարի իրատեսությունը բարելավելու համար:

SSAO-ն աշխատում է պարզեցված սխեմայով, սակայն այն ունի բազմաթիվ առավելություններ՝ մեթոդը կախված չէ տեսարանի բարդությունից, չի օգտագործում. RAM, կարող է գործել դինամիկ տեսարաններում, չի պահանջում կադրի նախնական մշակում և բեռնում է միայն գրաֆիկական ադապտերը՝ առանց պրոցեսորի ռեսուրսները սպառելու։

Ցել ստվերում

Cel shading-ի էֆեկտով խաղերը պատրաստվում են 2000 թվականից և առաջին հերթին հայտնվել են կոնսուլների վրա։ ԱՀ-ում այս տեխնիկան իսկապես հայտնի դարձավ սենսացիոն հրաձիգ XIII-ի թողարկումից ընդամենը մի քանի տարի անց: Cel ստվերում յուրաքանչյուր շրջանակ գրեթե նման է ձեռքով նկարված նկարի կամ մանկական մուլտֆիլմից մի հատվածի:

Կոմիքսները ստեղծվում են նմանատիպ ոճով, ուստի այդ տեխնիկան հաճախ օգտագործվում է դրանց հետ կապված խաղերում։ Վերջին հայտնի թողարկումներից մենք կարող ենք անվանել Borderlands հրաձիգը, որտեղ Cel ստվերավորումը տեսանելի է անզեն աչքով:

Տեխնոլոգիայի առանձնահատկություններն են գույների սահմանափակ հավաքածուի օգտագործումը, ինչպես նաև հարթ գրադիենտների բացակայությունը: Էֆեկտի անվանումը գալիս է Cel (Celluloid) բառից, այսինքն՝ թափանցիկ նյութ (ֆիլմ), որի վրա նկարվում են անիմացիոն ֆիլմեր։

Դաշտի խորություն

Դաշտի խորությունը տարածության մոտ և հեռավոր եզրերի միջև եղած հեռավորությունն է, որի ներսում բոլոր առարկաները կլինեն ուշադրության կենտրոնում, իսկ տեսարանի մնացած հատվածը մշուշոտ կլինի:

Որոշակի չափով դաշտի խորությունը կարելի է դիտարկել պարզապես կենտրոնանալով աչքի առաջ մոտ գտնվող օբյեկտի վրա: Դրա հետևում գտնվող ամեն ինչ կպղտորվի: Ճիշտ է նաև հակառակը. եթե կենտրոնանաք հեռավոր օբյեկտների վրա, ապա նրանց առջև ամեն ինչ մշուշոտ կլինի։

Որոշ լուսանկարներում դուք կարող եք տեսնել դաշտի խորության ազդեցությունը հիպերտրոֆիկ ձևով: Հենց այս աստիճանի լղոզումը հաճախ փորձ է արվում նմանակել 3D տեսարաններում:

Դաշտի խորությունը օգտագործող խաղերում խաղացողը սովորաբար ներկայության ավելի ուժեղ զգացում ունի: Օրինակ, ինչ-որ տեղ նայելով խոտերի կամ թփերի միջով, նա տեսնում է տեսարանի միայն փոքրիկ բեկորները ուշադրության կենտրոնում, ինչը ստեղծում է ներկայության պատրանք:

Կատարման ազդեցություն

Պարզելու համար, թե ինչպես է որոշ ընտրանքների ներառումը ազդում աշխատանքի վրա, մենք օգտագործեցինք Heaven DX11 Benchmark 2.5 խաղային չափանիշը: Բոլոր թեստերն իրականացվել են Intel Core2 Duo e6300, GeForce GTX460 համակարգի վրա՝ 1280x800 պիքսել (բացառությամբ ուղղահայաց համաժամացման, որտեղ թույլատրելիությունը 1680x1050 էր):

Ինչպես արդեն նշվեց, անիզոտրոպ ֆիլտրումը գրեթե չի ազդում շրջանակների քանակի վրա: Անջատված անիզոտրոպիայի և 16x-ի միջև տարբերությունը ընդամենը 2 կադր է, ուստի խորհուրդ ենք տալիս այն միշտ սահմանել առավելագույնի վրա:

Heaven Benchmark-ում հակաալիզինգը նվազեցրեց fps-ն ավելի շատ, քան մենք սպասում էինք, հատկապես ամենադժվար 8x ռեժիմում: Այնուամենայնիվ, քանի որ 2x-ը բավական է նկարի նկատելի բարելավման համար, խորհուրդ ենք տալիս ընտրել այս տարբերակը, եթե անհարմար է խաղալ ավելի բարձր վայրերում:

Tessellation-ը, ի տարբերություն նախորդ պարամետրերի, կարող է կամայական արժեք ստանալ յուրաքանչյուր առանձին խաղում: Heaven Benchmark-ում պատկերն առանց դրա էապես վատանում է, իսկ առավելագույն մակարդակում, ընդհակառակը, մի փոքր անիրատեսական է դառնում։ Հետևաբար, միջանկյալ արժեքները պետք է սահմանվեն՝ չափավոր կամ նորմալ:

Ավելի քան բարձր լուծումորպեսզի 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 կադր/վրկ: