O'yinlarda vsync nimani anglatadi. O'yinlardagi grafik sozlamalar: ular nimaga ta'sir qiladi? Vertikal sinxronlashni ulash

O'yinlarda vertikal sinxronlash nima? Ushbu funktsiya 60 Gts chastotali standart LCD monitorlarda o'yinlarni to'g'ri ko'rsatish uchun javobgardir. Yoqilganda, kadr tezligi 60 Gts bilan chegaralanadi va ekranda hech qanday uzilishlar ko'rsatilmaydi. Uni o'chirib qo'yish kadr tezligini oshiradi, lekin shu bilan birga ekranni yirtib tashlash effekti paydo bo'ladi.

V-sinxronizatsiya o'yinlarda juda munozarali mavzu. Bir tomondan vizual qulaylik uchun o'yin Agar sizda standart LCD monitoringiz bo'lsa, bu juda zarur bo'lib tuyuladi.

Uning yordamida o'yin davomida ekranda hech qanday xatolik paydo bo'lmaydi, rasm barqaror va bo'shliqlar yo'q. Salbiy tomoni shundaki, kadr tezligi 60 Gts bilan cheklangan, shuning uchun ko'proq talabchan o'yinchilar kirish kechikishiga duch kelishlari mumkin, ya'ni sichqoncha bilan o'yinda harakatlanayotganda biroz kechikish (sichqoncha harakatining sun'iy tekislanishiga tenglashtirilishi mumkin).

Vertikal sinxronlashni o'chirish ham o'zining ijobiy va salbiy tomonlariga ega. Avvalo, cheksiz FPS kvadrat tezligi taqdim etiladi va shu bilan yuqorida qayd etilgan kirish kechikishini butunlay yo'q qiladi. Bu o'yinlar uchun qulay. Counter-Strike turi bu erda sezgirlik va aniqlik muhim ahamiyatga ega. Harakat va nishon juda aniq, dinamik, sichqonchaning har bir harakati yuqori aniqlik bilan amalga oshiriladi. Ba'zi hollarda biz ko'proq narsani olishimiz mumkin FPS tezligi, chunki V-Sync, video kartaga qarab, apparat ish faoliyatini biroz kamaytirishi mumkin (farq taxminan 3-5 FPS). Afsuski, kamchilik shundaki, vertikal sinxronizatsiyasiz biz ekranni yirtib tashlash effektiga ega bo'lamiz. O'yinda harakatni aylantirish yoki o'zgartirishda biz tasvirning ikki yoki uchta gorizontal qismga yirtilganini sezamiz.

V-Sync yoqilsinmi yoki o'chirilsinmi?

Vertikal sinxronlash kerakmi? Bularning barchasi bizning shaxsiy imtiyozlarimizga va biz nimani olishni xohlayotganimizga bog'liq. Ko'p o'yinchi FPS o'yinlarida maqsad aniqligini oshirish uchun vertikal sinxronlashni o'chirish tavsiya etiladi. Ekranni yirtib tashlash effekti, qoida tariqasida, unchalik sezilmaydi va biz bunga ko'nikib qolganimizda, biz buni sezmay qolamiz.

O'z navbatida, in hikoya o'yinlari V-Sync-ni xavfsiz yoqishingiz mumkin. Bu erda yuqori aniqlik unchalik muhim emas, birinchi skripkani atrof-muhit, vizual qulaylik o'ynaydi, shuning uchun siz yaxshi sifatga pul tikishingiz kerak.

Vertikal sinxronlash odatda o'yinning grafik sozlamalarida yoqilishi yoki o'chirilishi mumkin. Ammo agar biz u erda bunday funktsiyani topmasak, uni video karta sozlamalarida qo'lda o'chirib qo'yishingiz mumkin - hamma uchun ham, faqat tanlangan ilovalar uchun.

NVIDIA grafik kartalarida vertikal sinxronlash

GeForce grafik kartalarida bu xususiyat Nvidia boshqaruv panelida joylashgan. bosing o'ng tugmasini bosing Windows 10 ish stolida sichqonchani tanlang va keyin Nvidia boshqaruv panelini tanlang.

Yon panelda 3D sozlamalari ostidagi 3D sozlamalarini boshqarish yorlig'ini tanlang. Mavjud sozlamalar o'ng tomonda ko'rsatiladi.

Sozlamalar ikkita yorliqga bo'lingan - global va dastur. Birinchi yorliqda siz barcha o'yinlar uchun variantlarni o'rnatishingiz mumkin va, masalan, har birida vertikal sinxronlashni yoqish yoki o'chirish. Ikkinchi yorliqda siz bir xil parametrlarni o'rnatishingiz mumkin, lekin har bir o'yin uchun alohida-alohida.

Global yoki dastur yorlig'ini tanlang va keyin ro'yxatdagi "Vertikal sinxronlash" opsiyasini qidiring. Uning yonida ochiladigan maydon mavjud - biz vertikal sinxronizatsiyani majburan o'chirish yoki yoqishni tanlaymiz.

AMD grafiklarida V-Sync

AMD grafik kartalari holatida, u Nvidia bilan bir xil ko'rinadi. Ish stolida o'ng tugmasini bosing va keyin Panel Catalyst Control Center-ga o'ting.

Keyin chapdagi "O'yinlar" yorlig'ini oching va "3D ilovalari uchun sozlamalar" ni tanlang. O'ng tomonda, AMD Radeon grafik sozlamalari holatidan yoqishga majbur bo'lgan mavjud variantlar ro'yxati ko'rsatiladi. "Tizim sozlamalari" yorlig'ida bo'lganimizda, biz hamma uchun tanlaymiz.

Har bir o'yin uchun parametrlarni alohida o'rnatishingiz kerak bo'lsa, "Qo'shish" tugmasini bosib, EXE faylini ko'rsatishingiz kerak. U ro'yxatga yangi xatcho'p sifatida qo'shiladi va siz unga o'tganingizda faqat ushbu o'yin uchun parametrlarni o'rnatishingiz mumkin.

Qo'shilgan ilova yoki tizim parametrlari (umumiy) bilan yorliqni tanlaganingizda, ro'yxatda "Vertikal yangilanishni kutish" variantini toping. Tanlov oynasi paydo bo'ladi, bu erda biz ushbu parametrni majburan yoqishimiz yoki o'chirishimiz mumkin.

O'rnatilgan Intel HD Graphics-da V-Sync

Agar o'rnatilgan Intel HD Graphics chipidan foydalansangiz, boshqaruv paneli ham mavjud. U ish stolida sichqonchaning o'ng tugmachasini bosish yoki Ctrl + Alt + F12 tugmalar birikmasi orqali mavjud bo'lishi kerak.

Intel panelida Sozlamalar rejimi yorlig'iga o'ting - Boshqarish paneli - 3D Grafika, so'ngra foydalanuvchi sozlamalariga o'ting.

Bu erda vertikal sinxronizatsiya Vertical Sync bilan maydonni topamiz. Qiymatni "Enabled" ga o'rnatish yoki uni "Ilova sozlamalari" ga o'rnatish orqali uni majburan yoqishingiz mumkin. Afsuski, Intel HD kartasi opsiyalarida majburiy o‘chirish funksiyasi yo‘q – siz faqat V-Sync-ni yoqishingiz mumkin. Video kartada vertikal sinxronizatsiyani o'chirib qo'yish mumkin emasligi sababli, bu faqat o'yinning o'zi sozlamalarida amalga oshirilishi mumkin.

Deyarli hammasida zamonaviy o'yinlar grafik sozlamalarida siz "vertikal sinxronizatsiya" ustunini ko'rishingiz mumkin. Va tobora ko'proq o'yinchilarning savollari bor Bu sinxronizatsiya foydalimi?, uning ta'siri va nima uchun u umuman mavjud, uni turli platformalarda qanday ishlatish kerak. Keling, ushbu maqolada bilib olaylik.

Vertikal sinxronlash haqida

To'g'ridan-to'g'ri vertikal sinxronizatsiyaning tabiatini tushuntirishga o'tishdan oldin, vertikal sinxronizatsiyaning shakllanish tarixiga biroz chuqurroq kirib borish kerak. Men imkon qadar aniq bo'lishga harakat qilaman. Birinchi kompyuter monitorlari bitta freymni skanerlash signali orqali xizmat qiluvchi sobit tasvir edi.

Yangi avlod displeylari paydo bo'lganda, piksellar sonini keskin o'zgartirish masalasi paydo bo'ldi, bu bir nechta ish rejimlarini talab qildi, bu displeylar vertikalga sinxron ravishda signallarning polaritesidan foydalangan holda rasmni taqdim etdi.

VGA ruxsati talab qilinadi yanada nozik sozlash supurib, gorizontal va vertikal ravishda ikkita signal berildi. Bugungi displeylarda o'rnatilgan kontroller skanerlashni sozlash uchun javobgardir.

Ammo, agar boshqaruvchi, haydovchiga ko'ra, kerakli miqdordagi ramkalarni o'rnatsa, nima uchun o'rnatilgan piksellar soni uchun vertikal sinxronizatsiya kerak? Bu unchalik oddiy emas. Ko'pincha video kartani yaratishda kadrlar tezligi juda yuqori bo'lgan holatlar mavjud, ammo texnik cheklovlar tufayli monitorlar, bu sonli kadrlarni toʻgʻri koʻrsata olmadi monitorning yangilanish tezligi grafik kartaning yangilanish tezligidan sezilarli darajada past bo'lganda. Bu keskin tasvir harakatlariga, artefaktlarga va chiziqlarga olib keladi.

"Uch marta buferlash" yoqilgan xotira faylidan kadrlarni ko'rsatishga vaqtlari yo'q, ular tezda o'zlarini almashtirib, keyingi freymlarni qo'shadilar. Va bu erda uch marta buferlash texnologiyasi deyarli samarasiz.

Vertikal sinxronlash texnologiyasi ushbu kamchiliklarni bartaraf etish uchun mo'ljallangan..

U so'rovnoma yoqilgan holda monitorga aylanadi standart xususiyatlar chastota va kadr tezligini yangilash, ikkinchi darajali xotiradan kadrlarni birlamchiga o'tishni oldini olish, aniq tasvir yangilanmaguncha.

Vertikal sinxronlashni ulash

Ko'pgina o'yinlar ushbu funktsiyani bevosita grafik sozlamalarida o'z ichiga oladi. Ammo bunday ustun bo'lmaganda yoki bunday parametrlar uchun sozlamalarni o'z ichiga olmaydigan ilovalar grafikasi bilan ishlashda ma'lum nuqsonlar kuzatilganda sodir bo'ladi.

Har bir video kartaning sozlamalarida siz barcha ilovalar uchun vertikal sinxronlash texnologiyasini yoki tanlab yoqishingiz mumkin.

NVidia uchun qanday yoqish mumkin?

NVidia kartalari bilan ko'pgina manipulyatsiyalar singari, u NVidia boshqaruv konsoli orqali amalga oshiriladi. U erda 3D parametrni boshqarish grafigida sinxronlash pulsi parametri bo'ladi.

Uni yoqilgan holatga o'tkazish kerak. Ammo video kartaga qarab, tartib boshqacha bo'ladi.

Shunday qilib, eski video kartalarda vertikal sinxronlash parametri bobda joylashgan global parametrlar bir xil 3D sozlamalari boshqaruv oynasida.

ATI dan video kartalar

Sozlash uchun grafik kartangiz uchun boshqaruv markazidan foydalaning. Ya'ni, Catalyst Control Center .NET Framework 1.1 ni ishga tushiradi. Agar sizda yo'q bo'lsa, u holda boshqaruv markazi ishga tushmaydi. Lekin tashvishlanmang. Bunday hollarda markazga muqobil mavjud, faqat klassik boshqaruv paneli bilan ishlaydi.

Sozlamalarga kirish uchun chapdagi menyuda joylashgan 3D bandiga o'ting. Vertikal yangilashni kutish bo'limi bo'ladi. Dastlab, dastur ichida standart vertikal sinxronlash texnologiyasi qo'llaniladi.

Tugmani chapga siljitish bu xususiyatni butunlay o'chirib qo'yadi va uni o'ngga siljitish uni majbur qiladi. Standart variant bu yerda eng mantiqiy, chunki u to'g'ridan-to'g'ri o'yin sozlamalari orqali sinxronizatsiyani sozlash imkonini beradi.

Xulosa qilish

Vertikal sinxronizatsiya - bu rasmdagi keskin harakatlardan xalos bo'lishga yordam beradigan funksiya, ba'zi hollarda tasvirdagi artefakt va chiziqlardan xalos bo'lishga imkon beradi. Va bunga monitor va video kartaning kvadrat tezligi mos kelmasa, olingan kvadrat tezligini ikki marta buferlash orqali erishiladi.

Bugungi kunda ko'pgina o'yinlarda v-sinxronizatsiya mavjud. U uch marta buferlash bilan bir xil ishlaydi, lekin qimmatga tushadi ancha kam resurslar, shuning uchun o'yin sozlamalarida uch marta buferlashni kamroq ko'rish mumkin.

Vertikal sinxronlashni yoqish yoki o‘chirishni tanlash orqali foydalanuvchi sifat va unumdorlik o‘rtasida tanlov qiladi. Uni yoqish orqali u silliqroq tasvir oladi, lekin soniyasiga kamroq kadrlar oladi.

Uni o'chirib qo'ysa, oladi Ko'proq ramkalar, lekin rasmning ravshanligi va chalkashligidan himoyalanmagan. Xususan, bu amal qiladi shiddatli va resurs talab qiladigan sahnalar, bu erda vertikal sinxronlash yoki uch marta buferlashning etishmasligi ayniqsa sezilarli.

Ko'pgina o'yinlarning parametrlaridagi bu sirli grafik ko'rinadigan darajada oddiy emas edi. Va endi uni ishlatish yoki qilmaslik faqat siz va o'yinlardagi maqsadlaringiz bilan qoladi.

Ishonchim komilki, muxlislar ko'p Kompyuter o'yinlari o'yinlardagi video karta sozlamalarida "vertikal sinxronizatsiya" yoki VSync deb ataladigan narsalarni o'chirish tavsiyasiga duch keldi.

Ko'pgina grafik kontroller ishlash testlarida, sinov VSync o'chirilgan holda o'tkazilganligi ta'kidlangan.
Agar ko'plab "ilg'or mutaxassislar" ushbu xususiyatni o'chirishni maslahat berishsa, bu nima va nima uchun kerak?
Vertikal sinxronlashning ma'nosini tushunish uchun siz tarixga qisqacha to'xtashingiz kerak.

Birinchi kompyuter monitorlari belgilangan ruxsatda va belgilangan yangilanish tezligida ishladi.
EGA monitorlarining paydo bo'lishi bilan vertikal bo'ylab tasvir sinxronizatsiya signallarining polaritesi bilan o'rnatiladigan ikkita ish rejimi bilan ta'minlangan turli xil rezolyutsiyalarni tanlash kerak bo'ldi.

VGA va undan yuqori piksellar sonini qo'llab-quvvatlaydigan monitorlar tozalash chastotalarini nozik sozlashni talab qiladi.
Buning uchun allaqachon tasvirni gorizontal va vertikal ravishda sinxronlashtirish uchun javobgar bo'lgan ikkita signal ishlatilgan.
Zamonaviy monitorlarda maxsus kontroller chipi skanerlashni belgilangan ruxsatga muvofiq sozlash uchun javobgardir.

Agar monitor drayverda o'rnatilgan rejimga muvofiq avtomatik ravishda sozlanishi mumkin bo'lsa, nima uchun "vertikal sinxronlash" elementi video karta sozlamalarida saqlanadi?
Gap shundaki, video kartalar sekundiga juda ko'p sonli kadrlarni yaratishga qodir bo'lishiga qaramay, monitorlar uni yuqori sifatda namoyish eta olmaydi, buning natijasida turli xil artefaktlar paydo bo'ladi: tarmoqli va "yirtilgan" tasvir.

Bunga yo'l qo'ymaslik uchun video kartalar monitorni vertikal skanerlash bo'yicha dastlabki so'rov rejimini ta'minlaydi, bu bilan soniyada kadrlar soni sinxronlashtiriladi - tanish fps.
Boshqacha qilib aytganda, 85 Hz vertikal chastotasi bilan har qanday o'yinda soniyasiga kadrlar soni sakson beshdan oshmaydi.

Monitorning vertikal yangilanish tezligi tasvirli ekranning soniyada necha marta yangilanishini bildiradi.
Katod nurli naychali displeyda, grafik tezlatgich sekundiga qancha kvadratni o'yindan "siqib chiqarishga" imkon bermasin, yangilanish tezligi jismoniy jihatdan belgilanganidan yuqori bo'lishi mumkin emas.

LCD monitorlarda butun ekranning jismoniy yangilanishi yo'q: bu erda alohida piksellar porlashi yoki yonmasligi mumkin.
Shu bilan birga, video interfeys orqali ma'lumotlarni uzatish texnologiyasining o'zi kadrlar ma'lum tezlikda video kartadan monitorga uzatilishini ta'minlaydi.
Shuning uchun, ma'lum darajadagi konventsiya bilan "supurish" tushunchasi LCD displeyga tegishli.

Tasvir artefaktlari qayerdan keladi?
Har qanday o'yinda sekundiga yaratilgan kadrlar soni rasmning murakkabligiga qarab doimiy ravishda o'zgarib turadi.
Monitorning yangilanish tezligi doimiy bo'lganligi sababli, video karta orqali uzatiladigan fps va monitorning yangilanish tezligi o'rtasidagi desinxronizatsiya tasvirning buzilishiga olib keladi, bu bir nechta o'zboshimchalik diapazonlariga bo'linganga o'xshaydi: ularning bir qismida yangilanish uchun vaqt bor, ikkinchisida emas.

Misol uchun, monitor 75 Gts yangilanish tezligida ishlaydi va o'yindagi video karta soniyada yuz kvadrat hosil qiladi.
Boshqacha qilib aytadigan bo'lsak, grafik tezlatgich monitorni yangilash tizimidan taxminan uchdan bir baravar tezroq.
Bitta ekranni yangilash vaqtida karta 1 kvadrat va keyingisining uchdan bir qismini hosil qiladi - buning natijasida displeyda joriy kadrning uchdan ikki qismi chiziladi va uning uchinchisi keyingisining uchinchi ramkasi bilan almashtiriladi.

Keyingi yangilash vaqtida karta ramkaning uchdan ikki qismini va keyingi uchdan ikki qismini va hokazolarni yaratishga muvaffaq bo'ladi.
Monitorda, har uchta skanerlash siklining har ikkisida biz boshqa ramkadan tasvirning uchdan bir qismini kuzatamiz - rasm silliqligini yo'qotadi va "qo'zg'aladi".
Bu nuqson, ayniqsa, dinamik sahnalarda yoki, masalan, o'yindagi xarakteringiz atrofga qaraganida seziladi.

Biroq, agar video kartaga sekundiga 75 dan ortiq kvadrat ishlab chiqarish taqiqlangan bo'lsa, u holda displeyda 75 Gts vertikal chastotali tasvirni ko'rsatishda hamma narsa tartibda bo'ladi deb o'ylash mutlaqo noto'g'ri bo'lar edi.
Gap shundaki, odatiy "ikki marta buferlash" deb ataladigan holatda, monitordagi ramkalar asosiy kadr buferidan (old bufer) keladi va ko'rsatishning o'zi ikkilamchi buferda (orqa bufer) amalga oshiriladi. .

Ikkilamchi bufer to'ldirilganda, ramkalar birlamchiga kiradi, ammo buferlar orasidagi nusxa ko'chirish jarayoni ma'lum vaqtni oladi, agar monitorni skanerlash hozirda yangilansa, tasvirning burishishi hali ham oldini olmaydi.

Vertikal sinxronlash faqat ushbu muammolarni hal qiladi: monitor yangilanish tezligi uchun so'roq qilinadi va tasvir yangilanmaguncha kvadratlarni ikkilamchi buferdan birlamchiga nusxalash taqiqlanadi.
Bu texnologiya soniyada kadr tezligi vertikal chastotadan oshib ketganda ajoyib ishlaydi.
Ammo kadr tezligi yangilanish tezligidan pastga tushsa nima bo'ladi?
Misol uchun, ba'zi sahnalarda bizning fps 100 dan 50 gacha tushadi.

Bunday holda, quyidagilar sodir bo'ladi.
Monitordagi tasvir yangilanadi, birinchi kadr birlamchi buferga ko'chiriladi va ikkinchisining uchdan ikki qismi ikkilamchi buferda "renderlanadi", so'ngra displeydagi tasvirning yana bir yangilanishi amalga oshiriladi.
Bu vaqtda video karta ikkinchi kadrni qayta ishlashni tugatadi, u hali ham asosiy buferga yubora olmaydi va tasvirning keyingi yangilanishi hali ham asosiy buferda saqlanadigan kadr bilan amalga oshiriladi.

Keyin bularning barchasi takrorlanadi va natijada bizda ekranda soniyasiga kadr tezligi skanerlash chastotasidan ikki baravar va potentsial ko'rsatish tezligidan uchdan bir pastroq bo'lgan vaziyatga ega bo'lamiz: video karta birinchi navbatda "tutmaydi" ” monitor bilan, keyin esa, aksincha, displey birlamchi buferda saqlangan freymni qaytarib olishini va yangi kadrni hisoblash uchun ikkilamchi buferda joy qolguncha kutishingiz kerak.

Ma'lum bo'lishicha, vertikal sinxronizatsiya va ikki marta buferlashda biz sekunddagi kadrlar soni skanerlash chastotasining nisbati sifatida hisoblangan diskret qiymatlar ketma-ketligidan biriga teng bo'lsagina yuqori sifatli tasvirni olishimiz mumkin. ba'zi bir musbat songa.
Masalan, 60 Gts yangilanish tezligi bilan soniyada kadrlar soni 60 yoki 30 yoki 15 yoki 12 yoki 10 va hokazo bo'lishi kerak.

Agar kartaning potentsial imkoniyatlari soniyada 60 dan kam va 30 dan ortiq kadrlar yaratishga imkon bersa, u holda haqiqiy renderlash tezligi 30 kadr / s gacha tushadi.

Tarjima qilinmoqda... Xitoycha (soddalashtirilgan) xitoycha (an'anaviy) tarjima qilish Inglizcha fransuzcha nemischa italyancha portugalcha ruscha ispancha turkcha

Afsuski, biz bu maʼlumotni hozir tarjima qila olmaymiz – keyinroq qayta urinib koʻring.

Tasvirni displeyning yangilanish tezligi bilan sinxronlashtirish va videoni ijro etish sifatini yaxshilash uchun oddiy algoritmdan qanday foydalanishni bilib oling.

Kirish

Bizning "raqamli uy" haqidagi tasavvurimiz asta-sekin haqiqatga aylanmoqda. So'nggi yillarda "raqamli uy" uchun tobora ko'proq qurilmalar sotuvga chiqarildi. Taklif etilayotgan elektronika assortimenti juda katta - musiqa va video eshittirishni qo'llab-quvvatlaydigan multimedia pristavkalaridan tortib oddiy kompyuter korpusidagi to'liq hajmdagi ko'ngilochar tizimlargacha.

Uy media markazlari kompyuter do'konlari narxlari ro'yxatida standart elementga aylanib bormoqda, bu sizga teleko'rsatuvlarni tomosha qilish va yozib olish, raqamli fotosuratlar va musiqalarni saqlash va ijro etish va hokazolarni amalga oshirish imkonini beradi. Bundan tashqari, ba'zi sotuvchilar foydalanuvchi shaxsiy shaxsiy kompyuterini uy media markaziga aylantirishi mumkin bo'lgan maxsus to'plamlarni taklif qilishadi.

Afsuski, bunday media markazlar har doim ham yuqori sifatli video ijro etishni qo'llab-quvvatlamaydi. Video sifatining etarli emasligi odatda oqimli kontentni notoʻgʻri buferlash va koʻrsatish, interlajlangan videoni qayta ishlashda oʻzaro bogʻliqlik algoritmlarining yoʻqligi va video-audio oqimlarini notoʻgʻri sinxronlash kabi omillar tufayli yuzaga keladi. Ushbu muammolarning aksariyati yaxshi o'rganilgan va ishlab chiqaruvchilar tomonidan etarlicha e'tiborga olingan echimlarga ega. Biroq, videolarni tomosha qilishda kichik, ammo baribir sezilarli buzilishlarga olib kelishi mumkin bo'lgan boshqa, kamroq ma'lum va unchalik aniq bo'lmagan muammo mavjud. Bizning maqolamiz ushbu muammoning batafsil tavsifini beradi va uni hal qilish usullaridan birini ko'rib chiqadi.

Uydagi media-markazlarning sotuvi ortib borayotganligi sababli, ko'proq iste'molchilar kompyuterda televizor ko'rishmoqda. Hozirda havaskor ishqibozlar tomonidan talab qilinayotgan ushbu segment kengayib borishi bilan yuqori sifatli videoga talab ham ortadi.

Kompyuterda videoni ijro etish sifatini yaxshilashning bir qancha usullari mavjud va ko'plab video dasturiy ta'minot ishlab chiqaruvchilari ulardan muvaffaqiyatli foydalanganlar. Ayni paytda, ba'zan haqiqat videoni o'ynatish dasturi hisobga olishi va videoning displeyning yangilanish tezligi bilan sinxronlashtirilishini ta'minlashi kerak. Gap shundaki, televizorlar dastlab eshittirish studiyasidan keladigan video signal bilan sinxronlash uchun taqdim etiladi. Televizorlardan farqli o'laroq, kompyuter monitorlari ekranni belgilangan tezlikda yangilaydi, bu grafik adapter tomonidan o'rnatiladi va video signal bilan hech qanday aloqasi yo'q. Agar siz videoning kompyuter ekrani bilan to'g'ri sinxronlashtirilganligiga ishonch hosil qilishni istasangiz, bu muhim farq juda ko'p muammolarni keltirib chiqarishi mumkin. Quyida biz harakat qilamiz batafsil tavsif bu muammo va yechim taklif. Biroq, bundan oldin, biz o'quvchini maqolada muhokama qilinadigan ba'zi asosiy tushunchalar bilan tanishtirmoqchimiz.

Yangilanish siklini ko'rsatish

Kompyuter ekranining yangilanish tezligi (ekranni yangilash tezligi) grafik adapter (video karta) chastotasi bilan sinxronlashtiriladi. Eng keng tarqalgan misolni ko'rib chiqing - video karta va monitor 60 Gts chastotani qo'llab-quvvatlaganida. Ushbu kombinatsiya monitorning video kartadan keladigan 60Hz signali bilan sinxronlashtirilganligi sababli mumkin. Aslida, monitor grafik adapterning chiqish chastotasida engil og'ish holatlarida ham sinxronizatsiyani saqlaydi (masalan, standart 60 Gts o'rniga 60,06 Gts).

Yangilash jarayonida ekran tasviri displey buferidan (grafik adapterning manzilli xotirasi) qayta chiziladi. Displeydagi har bir gorizontal chiziq video xotira buferidagi yangi ma'lumotlarga muvofiq ketma-ket yangilanadi. yilda yangilangan bu daqiqa vaqt chizig'i skanerlash chizig'i deb ataladi. 60 Gts chastotali grafik adapterda ekranni yangilash jarayoni soniyada 60 marta sodir bo'ladi, shuning uchun kompyuter monitoridagi tasvir ham soniyasiga 60 marta yangilanadi.

1-rasm - Displey yangilanishi

Rasmni yirtib tashlaydigan artefaktlar

Bir xil bo'lmagan grafik buferni yangilashning mumkin bo'lgan muammosidan xabardor bo'ling. Agar monitordagi tasvir hali toʻliq chizilmagan (yangilash davri tugallanmagan) bir vaqtda video xotira buferining mazmuni oʻzgargan boʻlsa, u holda yangi tasvirning faqat skanerlash chizigʻidan keyingi qismi koʻrsatiladi. ekranda (rasmga qarang). Guruch. 2). Ekranning yuqori qismida eski tasvirni va pastda yangi tasvirni ko'rsatadigan ushbu tasvir artefakti yirtish deb ataladi. Aslida, bu atama juda tavsiflidir, chunki natijada paydo bo'lgan tasvir yarmida "yirtilgan" ko'rinadi.

2-rasm - Tasvirning "bo'shliq" artefaktlari

Team Flip

"Ko'z yoshlari" ning oldini olish usullaridan biri video xotira tarkibini yangilash sodir bo'lishiga ishonch hosil qilishdir undan keyin displeyni yangilash sikli qanday yakunlangani va bundan oldin keyingi tsikl boshlanganda. Boshqacha qilib aytganda, yangilanish teskari supurish paytida sodir bo'lishi kerak. Biroq, bu usul dasturiy ta'minotda tegishli o'zgarishlarni talab qiladi, bu esa tasvirni o'zgartirish tartibini etarli darajada aniqlik bilan hisoblashi kerak.

Shu sababli, buferni almashtirish sinxronizatsiya algoritmi (Flip) taklif qilingan. Flip buyrug'i tabiatan juda oddiy - u dasturga ekranni yangilash davri davomida istalgan vaqtda tasvirni yangilash imkonini beradi, lekin uning natijasi joriy sikl tugaguniga qadar aslida videoxotiraga o'tkazilmaydi. Shunday qilib, monitordagi tasvirning yangilanishi Flip buyrug'i bajarilgandan keyingi intervalda sodir bo'ladi. Buferni sinxronlash usuli bilan tasvirning "yirtilishi" yo'q qilinadi, chunki Flip buyrug'i har bir yangilash davri uchun to'liq yangi tasvir tayyor bo'lishini ta'minlaydi (pastga qarang). Guruch. 3). Biroq, keyingi bo'limda biz faqat Flip buyrug'idan foydalanish barcha muammolarni hal qilishiga kafolat bermasligini ko'rsatamiz.

3-rasm - Flip buyruqlar ketma-ketligi

Potentsial muammolar

Sinxronizatsiya algoritmidan foydalanish katta afzalliklarga ega va yirtiq artefaktlarni bartaraf etishga yordam beradi, ammo bitta muhim muammo qolmoqda.

Flip buyrug'idan foydalanilganda, dasturning videoni ko'rsatish shartlari o'zgartiriladi. Flipni bajarish uchun dastur ma'lum bir kadr tezligiga qarab kadr buferini yangilash oralig'ini (kadr tezligi) sozlashi kerak. Kadrlarni sinxronlash mumkin bo'lgan yagona soat tezligi displeyni yangilash tezligi (yoki bir nechta). Boshqacha qilib aytadigan bo'lsak, yangi ramka faqat yangilanish siklining boshida ko'rsatilishi mumkin - aslida kadrlar intervallari displeyning yangilanish tezligiga bog'langan.

4-rasm - Kadr tezligi va displey chastotasining mos kelmasligi

Bu haqiqat shuni anglatadiki, agar displeyning yangilanish tezligi o'ynatilayotgan kontentning kadr tezligi bilan bir xil bo'lmasa yoki uning ko'paytmasi bo'lmasa, displeydagi kontentni to'liq qayta ishlab bo'lmaydi. Ustida Guruch. to'rtta bu muammoning alohida holati ko'rsatilgan. Ushbu stsenariyda kontentning kadr tezligi displeyni yangilash tezligidan sekinroq. Ushbu ikki chastota o'rtasidagi faza almashinuvi tufayli, ikkita kadr uchun Flip buyrug'ining intervallari oxir-oqibat to'liq yangilash davriga cho'ziladi (3 va 4-kadrlar vaqtini hisobga oling). Natijada, 3-ramka talab qilinganidan deyarli ikki baravar ko'p ko'rsatiladi. Shunday qilib, siz kadr tezligi va displeyning yangilanish tezligiga mos kelishga harakat qilishingiz kerak, garchi bu har doim ham mumkin emas.

Ko'rib chiqilayotgan vaziyat faqat kvadrat tezligi va displeyning yangilanish tezligi o'rtasidagi farq kichik bo'lsa, yanada og'irlashadi. Kadrlar vaqtlari yangilanish davri oralig'iga yaqin bo'lsa, dasturiy ta'minot taymerini hisoblashdagi kichik noaniqliklar ham yangilanish boshlanishiga nisbatan bir nechta ketma-ket Flip buyruqlarining ishdan chiqishiga olib kelishi mumkin. Bu shuni anglatadiki, ba'zi Flip buyruqlari juda erta va ba'zilari juda kech ishlaydi, natijada "takroriy" va "tushgan" ramkalar paydo bo'ladi. Bu holat tasvirlangan Guruch. 5– taymer to‘g‘ri ishlamayapti (tartibsiz intervallarda), natijada 2 va 4-ramkalar ko‘rsatilmaydi, 3 va 5-ramkalar esa ikki marta ko‘rsatiladi.

5-rasm - Flip on taymer nosozliklaridan foydalanish natijasi

Ushbu hodisa kontentning kadrlar tezligi va displeyning yangilanish tezligi bir xil bo'lsa ham sodir bo'lishi mumkin. Shubhasiz, faqat taymer va Flip buyrug'idan foydalanish videoni yuqori sifatli ijro etishni ta'minlash uchun etarli emas. Keyingi bo'limda tushuntirilganidek, Flip buyruqlari to'g'ri bajarilishi uchun dasturiy ta'minot displeyni yangilash davrlari bilan aqlli sinxronizatsiyani saqlab turishi kerak.

Vaqtni o'zgartirish buyruqlari

Yuqorida aytib o'tilganidek, Flip buyrug'idan foydalanish video kadrlarni ko'rsatishda ekranni yangilash davrlarini hisobga olish imkonini beradi. Har bir yangi uzatilgan kadr faqat bitta to'liq displeyni yangilash davri uchun ko'rsatiladi. Shunday qilib, Flip buyrug'idan foydalanganda, dasturiy ta'minot nafaqat har bir freym ko'rsatilishi kerakligini aniq hisoblabgina qolmay, balki kadrlar chiqishini optimal sinxronlashtirish uchun maxsus yangilash siklini ham aniqlashi kerak.

Flip buyrug'ini yangilash davrining boshida, mos keladigan ramka yangilash oralig'i boshlanishidan oldin chaqirish yaxshidir (misolga qarang). Guruch. 3). Bu mos keladigan yangilash davri boshlanishidan oldin buyruqni amalda bajarishning eng yuqori ehtimolini beradi va ramka kerakli vaqtda chiqishini ta'minlaydi. E'tibor bering, video kadrlar tezligi va displeyni yangilash tezligi mos kelmasa, Flip-ning kadrni yangilash siklini optimallashtirish maqbul video sifatini ta'minlash uchun etarli emas. Ushbu muammolarni hal qiladigan kontent ramkalarini ramkalash yoki o'zgartirishning ba'zi usullari mavjud, ammo ular ushbu nashr doirasidan tashqarida.

Biroz Operatsion tizimlar ilovalar displeyni yangilash sikli bilan sinxronlasha oladigan dasturlash interfeyslarini taqdim eting. Xususan, Microsoft DirectX 9.0 muhiti bizning holatlarimizda juda foydali bo'lishi mumkin bo'lgan bir nechta protseduralarni o'z ichiga oladi. Keyinchalik, DirectX standart protseduralarini tekshirilayotgan muammoni hal qilishning namunali usullari sifatida ko'rib chiqamiz. O'quvchilar ushbu misollardan taklif qilingan usullarni o'rganish va boshqa operatsion tizimlarda o'xshash echimlarni topish uchun foydalanishlari mumkin.

WaitForVerticalBlank() DirectDraw kutubxonasidagi standart protsedura (IDirectDraw interfeysi ichida) keyingi yangilash davri boshlangunga qadar interfeysga kirishni bloklaydi. Ushbu protsedura sinxronizatsiya uchun ishlatilishi mumkin, lekin u bir marta yoki muhim oraliqda bajarilishi kerak, chunki kirish uchun vaqt talab etiladi. Biroq, ushbu protsedura yangilanish sikli bilan dastlabki sinxronizatsiyani amalga oshirishda foydalidir.

GetScanLine() displeyda qaysi skanerlash liniyasi hozirda yangilanayotgani haqida ma'lumot olish uchun ishlatilishi mumkin bo'lgan standart protsedura. Agar umumiy satrlar soni va joriy skanerlash chizig'i ma'lum bo'lsa, displeyni yangilash davrining holatini aniqlash qiyin emas. Misol uchun, agar ko'rsatish satrlarining umumiy soni 1024 va protsedura bo'lsa GetScanLine() 100 ni qaytarsa, joriy yangilanish sikli hozirda 100 dan 1024 gacha, bu taxminan 10 foizga tugallangan. Ilova GetScanLine() ilovaga yangilanish siklining holatini kuzatish imkonini beradi va unga asoslanib, keyingi renderlangan kadrni qaysi siklga bog'lash kerakligini aniqlash va kerakli buferni almashtirish vaqti uchun taymerni o'rnatish. Quyida misol algoritmi keltirilgan:

6-rasm

Kadrni o'zgartirish vaqti nafaqat yangi tasvir ramkalarini hisoblash asosida, balki ekranning yangilanish tezligini hisobga olgan holda tanlanadi. Kadrlar ekranda faqat displey yangilanganda paydo bo'lganligi sababli, har bir freym to'g'ri yangilash siklini "urishiga" ishonch hosil qilish kerak. Shunday qilib, ideal holda, tasvir ramkasi ekranning yangilanish tezligiga to'liq mos kelishi kerak. Bunday holda, har bir ramka kerakli vaqtda displeyda chiziladi.

Yozib olingan kontent uchun muqobil yechim

Biz muhokama qilayotgan masalalar jonli efirda ham, yozib olingan videoni oʻynatishda ham barcha video ijro etish stsenariylariga taalluqlidir. Biroq, ikkinchi holatda, siz muqobil yechimga murojaat qilishingiz mumkin. Agar kontent kvadrat tezligi va displeyni yangilash tezligi o'rtasidagi farq kichik bo'lsa, kontent sifatiga putur etkazmasdan, video kadrlar tezligini (va audio oqimini ham xuddi shunday sozlash) ekran yangilanish tezligiga moslashtirishingiz mumkin. Misol tariqasida, 60 Gts chastotali monitordagi sekundiga 59,94 kadr (Bob deinterlaced) standart aniqlikdagi televizor signalini olaylik. Video va audio tinglashni soniyasiga 60 kadrgacha tezlashtirish orqali siz kadrlar tezligi ekranning yangilanish oraliqlariga mos kelishini va shu bilan birga tasvir artefaktlari bo'lmasligini ta'minlashingiz mumkin.

Xulosa

Ushbu nashr tasvirni sinxronlashtirish usullariga, xususan, Flip buyrug'i yordamida tasvirni yirtib tashlash artefaktlarining oldini olishga bag'ishlangan. Maqolada, shuningdek, Flip buyrug'i displeyni yangilash davrlari bilan qattiq sinxronlashdan kelib chiqadigan muammolarni keltirib chiqaradigan holatlarni ko'rib chiqadi. To'g'ri kadr vaqtini belgilash va Flip buyruqlaridan foydalanish kadr vaqtlari va intervallarni dasturiy ta'minot kutganidan farq qilishi mumkin. Maqolaning xulosasiga ko'ra, Flip buyruqlarini ishlatishning to'g'ri yo'li Flip sinxronizatsiyasini ekranning yangilanish tezligi bilan birlashtirish va keyingi chiqishini hisobga olgan holda tasvirni hisoblash siklini optimallashtirishdir. Shunday qilib, Flip intervallarni dasturiy ta'minotda sozlash mumkin. Eng yaxshi sifat video kontentning kadr tezligi displeyning yangilanish tezligiga mos kelganda erishiladi. Biroq, amalda bunga har doim ham erishib bo'lmaydi. Ushbu maqolada tasvirlangan algoritmlar tasvir artefaktlarini minimal darajaga kamaytirishga yordam beradi.

Zamonaviy o'yinlar tobora ko'proq grafik effektlar va tasvirni yaxshilaydigan texnologiyalardan foydalanadi. Shu bilan birga, ishlab chiquvchilar odatda nima qilayotganlarini tushuntirishdan bezovtalanishmaydi. Eng samarali kompyuter mavjud bo'lmaganda, ba'zi imkoniyatlarni qurbon qilish kerak. Keling, grafika uchun minimal oqibatlar bilan kompyuter resurslarini qanday bo'shatishni yaxshiroq tushunish uchun eng keng tarqalgan grafik variantlari nimani anglatishini ko'rib chiqaylik.

Anizotrop filtrlash

Monitorda har qanday tekstura asl o'lchamda bo'lmasa, unga qo'shimcha piksellar kiritish yoki aksincha, ortiqcha piksellarni olib tashlash kerak. Bu filtrlash deb ataladigan texnika yordamida amalga oshiriladi.

Ikki chiziqli filtrlash eng oddiy algoritm bo'lib, kamroq hisoblash quvvatini talab qiladi, lekin u ham eng yomon natijani beradi. Trilinear aniqlik qo'shadi, lekin baribir artefakt yaratadi. Anizotrop filtrlash kameraga nisbatan kuchli moyil bo'lgan ob'ektlardagi sezilarli buzilishlarni bartaraf etadigan eng ilg'or usul hisoblanadi. Oldingi ikkita usuldan farqli o'laroq, u aliasing effekti bilan muvaffaqiyatli kurashadi (to'qimalarning ba'zi qismlari boshqalarga qaraganda ko'proq xiralashganda va ular orasidagi chegara aniq ko'rinadigan bo'lsa). Ikki chiziqli yoki uch chiziqli filtrlashdan foydalanganda, masofa oshgani sayin, tekstura tobora xiralashib boradi, anizotrop filtrlashda esa bu kamchilik yo'q.

Qayta ishlangan ma'lumotlar miqdorini hisobga olgan holda (va sahnada ko'plab yuqori aniqlikdagi 32-bitli teksturalar bo'lishi mumkin), anizotrop filtrlash ayniqsa xotira o'tkazish qobiliyatini talab qiladi. Siz trafikni, birinchi navbatda, hozir hamma joyda qo'llaniladigan teksturani siqish tufayli kamaytirishingiz mumkin. Ilgari, u kamroq qo'llanilganda va video xotiraning o'tkazish qobiliyati ancha past bo'lganida, anizotrop filtrlash kadrlar sonini sezilarli darajada kamaytirdi. Zamonaviy video kartalarda u fpsga deyarli ta'sir qilmaydi.

Anizotrop filtrlash faqat bitta sozlamaga ega - filtr omili (2x, 4x, 8x, 16x). U qanchalik baland bo'lsa, to'qimalar shunchalik aniq va tabiiyroq ko'rinadi. Odatda, yuqori qiymatga ega bo'lgan kichik artefaktlar faqat egilgan teksturalarning eng tashqi piksellarida ko'rinadi. 4x va 8x qiymatlari odatda vizual buzilishning asosiy ulushidan xalos bo'lish uchun etarli. Qizig'i shundaki, 8x dan 16x gacha bo'lganida, unumdorlik darajasi hatto nazariy jihatdan ham juda kichik bo'ladi, chunki ilgari filtrlanmagan oz sonli piksellar qo'shimcha ishlov berishni talab qiladi.

Shaderlar

Shaderlar 3D-sahnada yorug'likni o'zgartirish, teksturalarni qo'llash, keyingi ishlov berish va boshqa effektlarni qo'shish kabi ma'lum manipulyatsiyalarni bajarishi mumkin bo'lgan kichik dasturlardir.

Shaderlar uch turga bo'linadi: vertex (Vertex Shader) koordinatalar bilan ishlaydi, geometrik (Geometry Shader) nafaqat alohida cho'qqilarni, balki butun to'liq ishlov berishi mumkin. geometrik raqamlar, maksimal 6 ta burchakdan iborat, piksel (Pixel Shader) alohida piksellar va ularning parametrlari bilan ishlaydi.

Shaderlar asosan yangi effektlarni yaratish uchun ishlatiladi. Ularsiz ishlab chiquvchilar o'yinlarda foydalanishi mumkin bo'lgan operatsiyalar to'plami juda cheklangan. Boshqacha qilib aytganda, shaderlarning qo'shilishi sukut bo'yicha video kartaga kiritilmagan yangi effektlarni olish imkonini berdi.

Sheyderlar parallel ravishda juda samarali ishlaydi, shuning uchun zamonaviy grafik adapterlarda juda ko'p oqim protsessorlari mavjud bo'lib, ular ham shaderlar deb ataladi. Masalan, GeForce GTX 580-da ularning 512 tasi mavjud.

Parallaks xaritalash

Parallaks xaritalash - bu to'qimalarni bo'rttirish uchun ishlatiladigan taniqli bumpmapping texnikasining o'zgartirilgan versiyasi. Parallaks xaritalash so'zning odatiy ma'nosida 3D ob'ektlarni yaratmaydi. Misol uchun, o'yin sahnasidagi zamin yoki devor qo'pol ko'rinadi va aslida butunlay tekis qoladi. Bu erda relyef effekti faqat to'qimalar bilan manipulyatsiyalar orqali erishiladi.

Asl ob'ekt tekis bo'lishi shart emas. Usul boshqacha ishlaydi o'yin elementlari, ammo uni ishlatish faqat sirt balandligi silliq o'zgargan hollarda maqsadga muvofiqdir. O'tkir tomchilar noto'g'ri ishlov beriladi va ob'ektda artefaktlar paydo bo'ladi.

Parallaks xaritalash kompyuterning hisoblash resurslarini sezilarli darajada tejaydi, chunki bunday batafsil 3D tuzilishga ega o'xshash ob'ektlardan foydalanganda, videoadapterlarning ishlashi sahnalarni real vaqtda ko'rsatish uchun etarli bo'lmaydi.

Effekt ko'pincha tosh qoplamalar, devorlar, g'ishtlar va plitkalarga qo'llaniladi.

Anti-aliasing

DirectX 8 paydo bo'lishidan oldin, o'yinlarda anti-aliasing SuperSampling Anti-Aliasing (SSAA) yordamida amalga oshirilgan, shuningdek Full-Scene Anti-Aliasing (FSAA) sifatida ham tanilgan. Uning ishlatilishi ishlashning sezilarli pasayishiga olib keldi, shuning uchun DX8 chiqarilishi bilan u darhol tark etildi va Multisample Anti-Aliasing (MSAA) bilan almashtirildi. Ushbu usul yomonroq natijalar berganiga qaramay, u avvalgisidan ancha samaraliroq edi. O'shandan beri CSAA kabi yanada rivojlangan algoritmlar paydo bo'ldi.

So'nggi bir necha yil ichida video kartalarning ishlashi sezilarli darajada oshganini hisobga olsak, AMD ham, NVIDIA ham SSAA texnologiyasini tezlatkichlariga qaytarishdi. Biroq, uni hozirda ham zamonaviy o'yinlarda ishlatish mumkin bo'lmaydi, chunki ramkalar / s soni juda kam bo'ladi. SSAA faqat o'tgan yillardagi yoki hozirgi loyihalarda samarali bo'ladi, ammo boshqa grafik parametrlar uchun oddiy sozlamalar bilan. AMD SSAA-ni faqat DX9 o'yinlari uchun qo'llab-quvvatladi, ammo NVIDIA-da SSAA DX10 va DX11 rejimlarida ham ishlaydi.

Silliqlash printsipi juda oddiy. Kadr ekranda ko'rsatilishidan oldin, ma'lum ma'lumotlar mahalliy o'lchamda emas, balki oshirilgan va ikkiga ko'paytiriladi. Keyin natija kerakli o'lchamga tushiriladi, so'ngra ob'ektning chekkalari bo'ylab "narvon" kamroq seziladi. Asl tasvir va tekislash koeffitsienti (2x, 4x, 8x, 16x, 32x) qanchalik baland bo'lsa, modellarda qadamlar shunchalik kam bo'ladi. MSAA, FSAA dan farqli o'laroq, faqat ob'ektlarning chetlarini tekislaydi, bu grafik karta resurslarini sezilarli darajada tejaydi, ammo bu usul ko'pburchaklar ichida artefaktlarni qoldirishi mumkin.

Ilgari Anti-Aliasing har doim o'yinlarda fpsni sezilarli darajada kamaytirdi, ammo endi u ramkalar soniga biroz ta'sir qiladi va ba'zan umuman ta'sir qilmaydi.

mozaika

Kompyuter modelida mozaikadan foydalanib, ko'pburchaklar soni o'zboshimchalik bilan bir necha marta oshiriladi. Buning uchun har bir ko'pburchak bir nechta yangilarga bo'linadi, ular asl sirt bilan taxminan bir xil joylashgan. Ushbu usul oddiy 3D ob'ektlarning tafsilotlarini oshirishni osonlashtiradi. Biroq, bu holatda, kompyuterdagi yuk ham ortadi va ba'zi hollarda hatto kichik artefaktlarni ham istisno qilib bo'lmaydi.

Bir qarashda mozaikani Parallaks xaritalash bilan aralashtirish mumkin. Garchi bular butunlay boshqacha effektlar bo'lsa-da, chunki mozaika aslida ob'ektning geometrik shaklini o'zgartiradi va nafaqat relyefni simulyatsiya qiladi. Bundan tashqari, u deyarli har qanday ob'ekt uchun ishlatilishi mumkin, Parallax xaritalashdan foydalanish juda cheklangan.

Tessellation texnologiyasi kinoda 80-yillardan beri ma'lum bo'lgan, ammo u yaqinda o'yinlarda qo'llab-quvvatlana boshladi, aniqrog'i, grafik tezlatgichlar nihoyat real vaqtda bajarilishi mumkin bo'lgan ishlashning kerakli darajasiga erishgandan keyin.

O'yin mozaikadan foydalanish uchun DirectX 11-ni qo'llab-quvvatlaydigan grafik kartani talab qiladi.

Vertikal sinxronlash

V-Sync - bu o'yin ramkalarini monitorning vertikal yangilanish tezligi bilan sinxronlashtirish. Uning mohiyati shundaki, rasm yangilangan paytda ekranda to'liq hisoblangan o'yin ramkasi ko'rsatiladi. Keyingi ramka (agar u allaqachon tayyor bo'lsa) ham oldingisining chiqishi tugashi va keyingisi boshlanishidan kechiktirmasdan va oldinroq paydo bo'lishi muhimdir.

Agar monitorning yangilanish tezligi 60 Gts bo'lsa va video karta kamida bir xil miqdordagi kadrlar bilan 3D sahnani ko'rsatishga muvaffaq bo'lsa, u holda har bir monitor yangilanishi yangi kadrni ko'rsatadi. Boshqacha qilib aytganda, 16,66 ms oraliqda foydalanuvchi ekranda o'yin sahnasining to'liq yangilanishini ko'radi.

Shuni tushunish kerakki, vertikal sinxronizatsiya yoqilganda, o'yindagi fps monitorning vertikal yangilanish tezligidan oshmasligi kerak. Agar freymlar soni ushbu qiymatdan past bo'lsa (bizning holatda, 60 Gts dan kam), unda ishlash yo'qotilishiga yo'l qo'ymaslik uchun uchta buferlashni faollashtirish kerak, bunda ramkalar oldindan hisoblab chiqiladi va uchta alohida buferda saqlanadi. , bu ularni ekranga tez-tez yuborish imkonini beradi.

Vertikal sinxronizatsiyaning asosiy vazifasi displeyning pastki qismi bitta ramka bilan to'ldirilganda va yuqori qismi oldingisiga nisbatan siljigan boshqasi bilan to'ldirilganida yuzaga keladigan siljishning ta'sirini yo'q qilishdir.

keyingi ishlov berish

Bu yakuniy rasm sifatini yaxshilash uchun toʻliq koʻrsatilgan 3D-sahnaning (boshqacha qilib aytganda, ikki oʻlchovli tasvirga) tayyor boʻlgan kadriga qoʻllaniladigan barcha effektlarning umumiy nomi. Post-processing piksel shaderlaridan foydalanadi va qo'shimcha effektlar butun sahna haqida to'liq ma'lumot talab qiladigan hollarda qo'llaniladi. Alohida 3D ob'ektlardan ajratilgan holda, bunday usullarni ramkada artefaktlar paydo bo'lmasdan qo'llash mumkin emas.

Yuqori dinamik diapazon (HDR)

Ko'pincha kontrastli yorug'lik bilan o'yin sahnalarida qo'llaniladigan effekt. Agar ekranning bir maydoni juda yorqin, ikkinchisi esa juda qorong'i bo'lsa, har bir sohada ko'p tafsilotlar yo'qoladi va u monoton ko'rinadi. HDR kadrga ko'proq gradatsiyalar qo'shadi va sizga sahnani batafsil ko'rsatishga imkon beradi. Uni ishlatish uchun odatda standart 24 bitli aniqlikdan ko'ra kengroq soyalar bilan ishlashingiz kerak. Oldindan hisob-kitoblar yuqori aniqlikda (64 yoki 96 bit) amalga oshiriladi va faqat oxirgi bosqichda tasvir 24 bitga o'rnatiladi.

HDR ko'pincha o'yin qahramoni qorong'u tunnelni yaxshi yoritilgan yuzada tark etganda, ko'rishni moslashtirish effektini amalga oshirish uchun ishlatiladi.

Gullash

Bloom ko'pincha HDR bilan birgalikda qo'llaniladi va uning juda yaqin qarindoshi - Glow bor, shuning uchun bu uchta usul ko'pincha chalkashib ketadi.

Bloom an'anaviy kameralar yordamida juda yorqin sahnalarni suratga olishda ko'rish mumkin bo'lgan effektni simulyatsiya qiladi. Natijada paydo bo'lgan tasvirda kuchli yorug'lik kerak bo'lganidan ko'ra ko'proq hajmni egallagandek ko'rinadi va ular orqasida bo'lsa ham, narsalarga "ko'tariladi". Bloomdan foydalanganda ob'ektlar chegaralarida rangli chiziqlar ko'rinishidagi qo'shimcha artefaktlar paydo bo'lishi mumkin.

Film don

Don - bu yomon signalga ega bo'lgan analog televizorda, eski magnitli video kassetalarda yoki fotosuratlarda (xususan, past nurda olingan raqamli tasvirlarda) paydo bo'ladigan artefakt. O'yinchilar ko'pincha aloqani uzadilar bu ta'sir, chunki u rasmni ma'lum darajada buzadi va uni yaxshilamaydi. Buni tushunish uchun yugurish mumkin ommaviy effekt rejimlarning har birida. Masalan, ba'zi "qo'rqinchli filmlarda" Saylent xil, ekrandagi shovqin, aksincha, atmosferani qo'shadi.

harakatning xiralashishi

Motion Blur - kamerani tez harakatlantirganda tasvirni xiralashtirish effekti. Sahnaga ko'proq dinamika va tezlik berilishi kerak bo'lganda uni muvaffaqiyatli ishlatish mumkin, shuning uchun u ayniqsa talabga ega poyga o'yinlari. Otishmalarda loyqalikdan foydalanish har doim ham bir ma'noda qabul qilinmaydi. Motion Blur-ni to'g'ri qo'llash ekranda sodir bo'layotgan voqealarga kino sifatini qo'shishi mumkin.

Effekt, agar kerak bo'lsa, parda ham yordam beradi. past chastotali ramkalarni o'zgartiring va o'yin jarayoniga silliqlik qo'shing.

SSAO

Muhit okklyuziyasi - bu ob'ektlarning yanada ishonchli yoritilishini yaratish orqali sahnaga fotorealizm qo'shish uchun ishlatiladigan usul bo'lib, u yorug'likni singdirish va aks ettirishning o'ziga xos xususiyatlariga ega bo'lgan yaqin atrofdagi boshqa ob'ektlar mavjudligini hisobga oladi.

Screen Space Ambient Occlusion - bu atrof-muhit okklyuziyasining o'zgartirilgan versiyasi bo'lib, shuningdek, bilvosita yoritish va soyani simulyatsiya qiladi. SSAO ning paydo bo'lishi GPU ishlashining hozirgi darajasida Ambient Occlusion-dan sahnalarni real vaqtda ko'rsatish uchun ishlatib bo'lmasligi bilan bog'liq edi. SSAO-da ishlashni oshirish uchun siz pastroq sifat bilan to'lashingiz kerak, ammo bu rasmning realizmini yaxshilash uchun etarli.

SSAO soddalashtirilgan sxema bo'yicha ishlaydi, lekin u juda ko'p afzalliklarga ega: usul sahnaning murakkabligiga bog'liq emas, foydalanmaydi Ram, dinamik sahnalarda ishlashi mumkin, ramkaga oldindan ishlov berishni talab qilmaydi va CPU resurslarini sarflamasdan faqat grafik adapterni yuklaydi.

Hujayra soyasi

Cel shading effektli o'yinlar 2000 yildan beri ishlab chiqarilgan va birinchi navbatda ular konsollarda paydo bo'lgan. Kompyuterda ushbu uslub shov-shuvli shooter XIII chiqarilganidan bir necha yil o'tgach haqiqatan ham mashhur bo'ldi. Cel soyasi bilan har bir ramka deyarli qo'lda chizilgan rasmga yoki bolalar multfilmidan parchaga o'xshaydi.

Komikslar xuddi shunday uslubda yaratilgan, shuning uchun texnika ko'pincha ular bilan bog'liq o'yinlarda qo'llaniladi. Eng so'nggi ma'lum relizlardan biz Borderlands shooterini nomlashimiz mumkin, bu erda Cel soyasi yalang'och ko'z bilan ko'rinadi.

Texnologiyaning xususiyatlari cheklangan ranglar to'plamidan foydalanish, shuningdek silliq gradyanlarning yo'qligi. Effektning nomi Cel (Celluloid), ya'ni animatsion filmlar chizilgan shaffof material (film) so'zidan kelib chiqqan.

Maydon chuqurligi

Maydon chuqurligi - bu kosmosning yaqin va uzoq chekkalari orasidagi masofa bo'lib, uning ichida barcha ob'ektlar fokusda bo'ladi, qolgan qismi esa loyqa bo'ladi.

Ma'lum darajada, maydon chuqurligini shunchaki ko'z oldida joylashgan ob'ektga qaratish orqali kuzatish mumkin. Uning orqasida hamma narsa xiralashadi. Buning aksi ham to'g'ri: agar siz uzoqdagi narsalarga e'tibor qaratsangiz, ularning oldida hamma narsa loyqa bo'lib chiqadi.

Ba'zi fotosuratlarda siz maydon chuqurligi effektini gipertrofiyalangan shaklda ko'rishingiz mumkin. Aynan shu darajadagi loyqalik ko'pincha 3D-sahnalarda taqlid qilishga harakat qilinadi.

Maydon chuqurligidan foydalanadigan o'yinlarda geymer odatda mavjudlik hissini kuchaytiradi. Misol uchun, o't yoki butalar orasidan biror joyga qarab, u diqqat markazida bo'lgan sahnaning faqat kichik qismlarini ko'radi, bu esa mavjudlik illyuziyasini yaratadi.

Ishlash ta'siri

Muayyan variantlarni kiritish ishlashga qanday ta'sir qilishini bilish uchun biz Heaven DX11 Benchmark 2.5 o'yin benchmarkidan foydalandik. Barcha testlar 1280x800 pikselli Intel Core2 Duo e6300, GeForce GTX460 tizimida o'tkazildi (vertikal sinxronlashdan tashqari, bu erda o'lchamlari 1680x1050).

Yuqorida aytib o'tilganidek, anizotrop filtrlash ramkalar soniga deyarli ta'sir qilmaydi. O'chirilgan anizotropiya va 16x o'rtasidagi farq bor-yo'g'i 2 kvadratni tashkil qiladi, shuning uchun uni har doim maksimal darajaga o'rnatishingizni tavsiya qilamiz.

Heaven Benchmark-dagi antialiasing, ayniqsa, eng qiyin 8x rejimida kadrlar tezligini biz kutganimizdan ko'proq pasaytirdi. Shunga qaramay, rasmni sezilarli darajada yaxshilash uchun 2x kifoya qiladi, agar yuqoriroqlarda o'ynash noqulay bo'lsa, ushbu variantni tanlashingizni maslahat beramiz.

Tessellation, oldingi parametrlardan farqli o'laroq, har bir alohida o'yinda o'zboshimchalik bilan qiymat olishi mumkin. Heaven Benchmark-da rasm usiz sezilarli darajada yomonlashadi va maksimal darajada, aksincha, biroz haqiqiy emas. Shuning uchun oraliq qiymatlar o'rnatilishi kerak - o'rtacha yoki normal.

Bundan ko'proq yuqori aniqlik fps ekranning vertikal yangilanish tezligi bilan cheklanmasligi uchun. Kutilganidek, sinxronizatsiya yoqilgan deyarli butun sinov davomida ramkalar soni aniq 20 yoki 30 kvadrat / s ni tashkil etdi. Buning sababi shundaki, ular ekranni yangilash bilan bir vaqtda ko'rsatiladi va 60 Gts yangilash tezligida buni har bir puls bilan emas, balki har soniyada (60/2 = 30 kadr) yoki uchinchi (3) bilan amalga oshirish mumkin. 60/3 = 20 kadr / s). V-Sync o'chirilganida, ramkalar soni ko'paydi, ammo ekranda xarakterli artefaktlar paydo bo'ldi. Uch marta buferlash sahnaning silliqligiga ijobiy ta'sir ko'rsatmadi. Ehtimol, bu video karta drayveri sozlamalarida buferlashni majburlash imkoniyati yo'qligi va oddiy o'chirish benchmark tomonidan e'tiborga olinmasligi va u hali ham ushbu funktsiyadan foydalanishi bilan bog'liq.

Agar Heaven Benchmark o'yin bo'lsa, maksimal sozlamalarda (1280×800; AA - 8x; AF - 16x; Tessellation Extreme) uni o'ynash noqulay bo'lar edi, chunki buning uchun 24 kvadrat etarli emas. Sifatning minimal yo'qolishi bilan (1280 × 800; AA - 2x; AF - 16x, Moslashuvchanlik Oddiy) maqbulroq 45 kadr / s ga erishish mumkin.