FPS, Refresh Rate i V-Sync – objašnjenje

0

U ovom članku želim da objasnim osnovno i ukratko samo šta su FPS, Refresh Rate (Hz), V-Sync i koja je veza između tih pojmova. Dakle, članak je namenjen onima koji se ne razumeju uopšte ili su čuli za ove pojmove ali nisu baš sigurni koja je veza između njih.

FPS

Za FPS su svi uglavnom čuli i to je skraćenica za Frames Per Second (frejmova/sličica u sekundi). Ono što ovaj broj predstavlja jeste broj sličica koje vaš hardver može da isporuči u jednoj sekundi. Nemojte da vas zbuni ono kad vidite da neki video fajl ima 30 fps, to samo označava broj sličica u sekundi koje je kamera usnimila i zapisala u video fajl.

fps-overwatch-corner
Slika: YT oOr0fdtQD8Y

Elem, kada igrate igrice FPS označava broj sličica koje vaš hardver može da prikaže, i taj broj može varirati u zavisnosti od količine podataka sa kojima hardver mora da radi. FPS se uglavnom kod novijih igrica može jednostavno fiksirati u opcijama ili dopustiti da igra sama to radi. Što više FPS-a to je slika bolja u smislu da su pokreti realniji i glatki.

Refresh Rate (Hz)

Kada kupujete monitor obično vidite i stavku Hz negde i obično je to 60 Hz. Taj broj predstavlja osvežavanje ekrana, odnosno broj sličica koje može ekran da prikaže u jednoj sekundi. Primećujete već povezanost između FPS i Hz.

monitor refresh rate explained
Slika: gamingbuff.com

FPS i Hz povezanost

Dakle, ako vaš računar može da isporuči 30 FPS, a monitor ima osvežavanje od 60Hz, monitor će prikazati samo 30 FPS. Međutim, ne bi bilo lepo da vidite samo pola frejmova pa monitor prikazuje jedan frejm dva puta (30*2=60).

Ako vaš računar isporučuje 60 FPS (onaj merač FPS-a negde na ekranu vam prikazuje 60) i monitor ima 60Hz, onda je to idealna situacija i videćete svih 60 FPS-a.

Ali ako računar isporučuje 60 FPS, a monitor ima 30 Hz, onda će monitor prikazati samo 30 sličica u sekundi, a onih ostalih 30 će se izgubiti. U tom slučaju je bolje limitirati FPS na 30 koliko je i osvežavanje monitora da se ne bi trošili resursi za džabe.

V-Sync

E sad dolazimo od onog Vertical Sync koji uglavnom ljudi isključe jer to „koči“ igricu. Ima istine ali objasniću da je nekad dobro uključiti ovu opciju.

V-Sync je tu da se pobrine da nema isečenih frejmova (Image tearing). Jer, desi se da GPU isporučuje slike brže/sporije nego što ih monitor „uzima“ i isrctava. Tu dolazi do desinhronizacije i vidi se da je slika isečena.

image tearing example
Slika: howtogeek.com

Da biste shvatili kako V-Sync radi, potrebno je objasniti kako slika dospeva na ekran iz grafičke kartice (ali jedostavno, ne u detalje na nivou bita jer je dosadno i komplikovano).

U tom procesu postoje 3 dela: GPU, baferi, monitor.

U osnovi imate 2 bafera: Front i Back. GPU šalje sliku u Back bafer i nakon što je slika kompletno prebačena Front i Back menjaju mesta. Ono što je u Front baferu monitor skenira i iscrtava na ekranu. Dakle, monitor skenira onu sliku koja je pre bila u Back baferu. Za to vreme, dok monitor skenira sliku iz Front-a, u Back-u GPU ucrtava novi frejm. I to radi lepo do neke mere (prikazano na slici ispod).

gpu to monitor image logic
Slika: Battle(non)sense

Problem nastaje kada GPU u Back ucrtava novi frejm i šalje u Front, a monitor nije završio skeniranje postojaćeg frejma. Recimo: monitor skenira Front frejm do pola, GPU završi ucrtavanje novog frejma u Back-u i uradi zamenu. Sada se u Front-u nalazi novi frejm i monitor nastavlja da skenira ostatak bafera (drugu polovinu), a u tom ostatku se nalazi novi frejm. Za rezultat gornja polovina slike je stari frejm, a donja polovina je novi frejm i vidi se tačno linija gde se dva frejma seku (prikazano na slici ispod).

vsync problem gif
Slika: Battle(non)sense

V-Sync ovaj problem rešava tako što jednostavno ne dozvoljava zamenu slika između bafera dok monitor ne skenira sliku iz Front bafera do kraja. Za rezultat imamo savršeno glatku sliku, ali zašto onda ne koriste svi V-Sync?

Mane V-Sync tehnologije

Kao prvo smanjuje se odziv što dosta smeta gejmerima kada je svaka stotinka bitna. A drugi problem je što ovo radi lepo samo kada vaš GPU može da isporuči makar minimum frejmova koliko je osvežavanje vašeg monitora. Ukoliko to nije slučaj, recimo GPU može da isporuči maksimalno 50 frejmova, a osvežavanje monitora je 60 Hz, onda će V-Sync zaključati FPS na 30!

G-Sync i Free Sync

Kako bi ovi problemi bili rešeni, Nvidia i AMD su izneli njihova rešenja. I ta rešenja se zasnivaju na promeni osvežavanja monitora u realnom vremenu tako da se podudara sa FPS-om računara. Što znači da ako u nekom trenutku GPU isporučuje 45 frejmova u sekundi, G-Sync ili Free Sync promeni osvežavanje monitora na istu tu vrednost – genijalno. Ali ova tehnologija radi samo ako je FPS računara manji od Hz monitora (suprotno od V-Sync). Zato su monitori sa ovom tehnologijom uglavnom pravljeni sa 144 Hz – više o tome ovde.

Na animaciji ispod možete videti kako radi G/Free Sync:

sync freesync gif
Slika: Battle(non)sense

Fast Sync

E ovo je dobra stvar i verujem da će vam se dopasti, meni jeste i koristim. Isto kao i V-Sync (a suprotno nego G/Free Sync), Fast Sync je efektivan samo kada je FPS veći od Hz monitora. Ali, za razliku od V-Sync, Fast Sync ne limitira FPS, a to se postiže pomoću dodatnog (trećeg) bafera.

Dakle, GPU renderuje frejm u Back bafer, i on prelazi u Last Rendered bafer (ovaj je nov, pre nije postojao), a u isto vreme frejm iz Last Rednered prelazi u Back bafer (znači zamene mesta). Sada u Back bafer GPU smešta novi frejm. Kada se to završi, frejm iz Last Rendered prelazi u Front, zatim frejm iz Back prelazi u Last Rendered, a frejm iz Front prelazi u Back bafer. Tako da sada imamo po jedan frejm u Front i Last Rednered bafere dok GPU može nesmetano da upisuje novi frejm u Back.

Kada GPU završi upis frejma u Back, taj frejm se „penje“ u Last Rendered, i čeka da monitor završi skeniranje Front bafera. Za to vreme GPU upisuje novi frejm u Back. Kada monitor zavši skeniranje Front bafera, onaj frejm iz Laste Rendered (koji je čekao red) sada ide u Front, a onaj novi iz Back se „penje“ u Last Rendered i čeka svoj red (dok GPU upisuje novi u Back). I sad već pišem proces u krug pa ću tu stati, najbolje je da pogledate animaciju ispod.

fast sync gif
Slika: Battle(non)sense

Fast Sync omogućava grafičkom procesuru da uvek upisuje frejm u Back bafer i na taj način ga ne limitira i samim tim se ne limitira FPS. A sa druge strane monitor ima dovoljno vremena da skenira frejm iz Front bafera u potpunosti i ne dolazi do sečenja slike – problem rešen jeftino i efikasno.

Ipak, Fast Sync opcija je dostupna samo za Nvidia GPU bazirane na Maxwell i Pascal arhitekturama. Još jedan nedostatak je što smanjuje odziv, ali ne kao V-Sync. Što znači da je ova opcija najbolji kompromis između dostupnosti korisniku, performansi, kvaliteta slike i odziva.

V-Sync vs. Fast-Sync vs. G-Sync

I na kraju se pitate koju Sync tehnologiju odabrati i da li uopšte omogućiti to?

V-Sync – FPS se sinhronizuje sa Refresh Rate monitora (nema seckanja slike, ima input lag)

V-Sync OFF – FPS i Refresh Rate nisu sinhronizovani (iseckana slika, veoma mali lag)

Adaptive Sync – Kada je FPS velik, V-Sync se uključi da ne bi došlo do efekta isečene slike. Kada je FPS nizak onda se V-Sync isključi da ne bi došlo do input lag-a

G-Sync / FreeSync – Sinhronizacija Hz i FPS (nema seckanja slike, mali input lag). Radi samo sa monitorima i grafičkim karticama koje podržavaju tu tehnologiju. Poželjno je da monitor ima što više Hz.

Fast Sync – V-sync je isključen a monitor će prikazati samo kompletno izrenderovane frejmove, što uklanja efekat iseckane slike (mali input lag, nema efekta seckane slike). Radi na bilo kom monitoru.

Dakle, vidite i sami prednosti i mane svake od ovih tehnologija. Lično koristim Fast Sync budući da moja grafička može da dostavi dosta frejmova, a monitor ima samo 60 Hz – što je odlična opcija za tu postavku.

Ako želite najbolje rešenje (najmanji input lag i najveći FPS) onda je za vas G/Free Sync opcija. Ovu opciju sam pominjao u članku gde sam pisao o tome na šta obratiti pažnju pri kupovini grafičke, pa pročitajte tamo malo više – link.

Izvori Battle(non)sense SixteenThirtyTwo Reddit

become-a-patron-2

Preporučeno za tebe:

Napiši komentar

Email adresa neće biti javno prikazana!