2017. október 22., vasárnap

Gyorskeresés

Mondj nemet a VSyncre!

Írta: | Kulcsszavak: vsync

[ ÚJ BEJEGYZÉS ]

A Vsync alapvetően egy nagyon jó találmány. A képtörés eliminálásának nemes indokával keletkezett. Ez szép és jó, ha például filmet nézünk (merthogy erőltetett kikapcsolásával a videóanyagok is megtörhetnek), vagy zenevizualizációnál, vagy bármi egyéb dolognál, amit csak nézünk. De ha már interakció van, például játszunk, akkor más a helyzet.

A működési koncepció úgy néz ki, hogy ha egy képkocka leképzése kész, a gép szépen vár, amíg azt ki nem rajzolhatja, majd csak akkor áll neki a következőnek, ha a monitor már megkapta a kész képet. Ez energiát takarít meg, teljesen oké. Viszont: késni fog a bemenet, mivel azt a helyzetet rajzolja ki, ami a képgenerálás kezdetekor volt adott. Ez egy 60 Hz-es monitor és 60 FPS-en futó játék esetében pontosan a képkockaidő, vagyis 16.7 ms, de ha az FPS lejjebb csúszik, sokkal több is lehet, mint ez a már amúgy is magas érték.

És most jön a legjobb: vannak olyan profi programozók, akiknek szoftverében VSync mellett a bemenet egy része teljesen elveszik. Azt nem tudom, hogy hogyan és miért, csak példákkal tudok szolgálni: Magickában egy 10 gombos makróból legjobb esetben 3-at érzékel, Crysisban pedig vonalzó mellett oda-vissza húzva az egeret, máshol köt ki a célkereszt, mint ahonnan indult.

Részleges megoldást a tripla puffer opciója jelent. Itt ugyanúgy generálja a képkockákat a gép, mintha nem lenne VSync, nem vár semmire, de csak a kész kockák kerülnek bele a végleges frame bufferbe. A képtörés megszűnik, akárcsak a dupla puffereléssel, de az energiatakarékossági előnynek búcsút inthetünk, a késésnek pedig ugyanúgy megmarad egy része, és a bemenetből is elveszhet egy kevés (bár már csak egy végtelenül kicsi időintervallumban, amikor az ideiglenes pufferből kikerül a képkocka). Ez az opció tehát nem arany középút, hanem hasonló szívás, mint a másik:



Felül vele, alul nélküle. Minden egyéb beállítás pontosan ugyanaz, csak egy r_Vsync-et állítottam a játék konzoljában. Jól látható, mennyire utánahúz a VSync.

Ha tehát úgy akarsz játszani, hogy ne késsen egy gombnyomás vagy egérrántás se, és a célkereszt oda érkezzen, ahova azt tervezted, a VSync-et kerüld el, amilyen messzire csak lehet. Kilométerekkel jobban fogsz nélküle játszani, mondom ezt személyes tapasztalat alapján. Ha 90 FPS körüli értékeket prezentál a géped, akkor pedig főleg ne használd, mivel itt a képtörés a szemem szerint már szinte láthatatlan, még akkor is, ha a monitor ugyanúgy 60 képkockát mutat csak az egész látványból, tehát a VSync értelmét veszti.

Hozzászólások

(#1) Akos96


Akos96
(senior tag)

"Magickában egy 10 gombos makróból legjobb esetben 3-at érzékel"

Ajánlom, hogy ez régi példa legyen, mivelhogy felhagytál a co-opban csiteléssel. :P

"A tévében nézed a szaxofonost, És azt gondolod, hogy de jó neki."

(#2) Teasüti


Teasüti
(PH! kedvence)

Hmm, először hallom ezt a problémát, hogy "elveszik" az input vhol.
Felmerül a kérdés, hogy milyen szenzor van az egeredben? Ha már 16 ms-en múlik a headshot (profi játékos reakció idő ennek bő tízszerese, az átlag meg vhol 200 ms körül teljesít), akkor jogosan merül fel vajon az egered egyáltalán képes-e lekövetni a mozgásod.
Bár az egéren túl a billentyű makró tényleg durva csonkításnak tűnik.
Kíváncsi lennék a hardveres okaira, elsőre azt mondanám meglepne bármilyen összefüggés.
De nem hinném, hogy mint input lag mérvadó lenne ez a 16,7 ms.

Mindenesetre soha nem használtam makrókat, valamint a screen tearing sokkal jobban zavar, minthogy jelentkezhet egy minimális negatív gyorsulás az egér mozgásában amit talán észre se veszek. Ha meg még játékos egerem sincs megbízható szenzorral, akkor meg amúgy is a szinte mindegy kategória.

Btw a kurzor mozgásában nem tapasztaltam ilyen hibákat, nálam hozza a papírformát az egerem vsync-től függetlenül. :F

Részemről inkább nem! :N

[ Szerkesztve ]

Topikba tartozó kérdésekre nem válaszolok privátban.

(#3) mqm


mqm
(senior tag)

Én nemrég találkoztam ezzel a problémával. Régebben elég sokat jatszottam bf3-mal és elég jól is ment. Újra felraktam kis nosztalgiából fakadóan és belőttem neki a Virtual synchronization-t.. Nem értettem miért nem tudtam szinte soha normálisan célozni/"rántani". Azt hittem az egeremmel van a gond akkorákat késett egy-egy mozdulatom. Aztán sikeresen kikapcsoltam a sync-et és minden a régi lett! ;)

Btag: mqm#2215

(#4) Teasüti


Teasüti
(PH! kedvence)

Szvsz ez a yt videó nagyon messze áll mindentől, amire rá lehetne fogni, hogy hiteles teszt.
Még csak nem is reprodukálható sem a teszt környezet, sem a tesztben látható mozgás.
Nem ismert a konfiguráció sem:
1. Milyen típusú egér? (Milyen szenzor? Optika? Lézer?)
2. Milyen beállítás? (1:1 raw input-ot feltételez-e és "rámutatás pontosságának javítása" aka gyorsítás ki van-e kapcsolva, mekkora frissítési frekvencia, mekkora felbontás?)
3. Játékon belüli egérbeállítások?
4. Az ujjad használata meg minden, csak nem megismételhető mérést eredményez (sebesség, LOD, textúra).
Talán az egérpadon a vonalzó mellett végighúzva mérés ad vmi támpontot, de ez így kész vicc. :N

Jah és hol van az összehasonlítás ugyanezen tesztkörülményekkel kikapcsolt Vsync mellett?
Ebből így kb az derült ki, hogy egy vmilyen egérrel akármilyen setup mellett egy játékban ismeretlen beállításokkal kétszer háromszor megmutattad a hüvelykujjad az ismeretlen minőségű szenzornak, ami erre csinált vmit a képernyőn. Kb ennyi.

Topikba tartozó kérdésekre nem válaszolok privátban.

(#6) huskydog17


huskydog17
(PH! addikt)
LOGOUT blog

Előre is elnézést, hogy a blogodban ilyet írok, de ez hatalmas nagy bullsh*t!
Attól, hogy te érzel valamilyen különbséget valamilyen játékban valamilyen hardver konfiguráció mellett, az égvilágon semmit nem jelent és ettől nem lesz rossz maga a technológia. Olyat írni, hogy mindenki kerülje el, nagy ostobaságra vall.
Tudod, hogy milyen jó, amikor 90-100 FPS környékén megy egy játék, de olyan, mintha mégis nagyon szaggatna? Na, ilyen érzést is okozhat súlyos képtörés.
Több olyan embernél is megfigyeltem a témára való reakciókat, akik abszolút nem jártasak a témában, olyan embereknél, akik még az Options menüpontról sem tudnak. Megmutattam nekik, hogy milyen Vsync mellett és anélkül játszani. Érdekes módon eddig mindenki azt mondta, hogy Vsync mellett sokkal szebben megy a játék, pedig a sebesség nem lett nagyobb. E mellett semmivel nem romlott az irányítás, sőt ellenkezőleg!

Multiplayer FPS? Képtörés miatt ugyanúgy mellélőhetsz, mint megemelkedett input lag mellett, csakhogy míg a képtörés Vsync nélkül mindenkinél jelen van, addig az input lagra nagyon kevesen érzékenyek.

Én inkább azt mondom, hogy nagyon ajánlott a Vsync, ha a játékos "folyékony" játékélményt akar. Na persze ah embert nem zavarják a megmagyarázhatatlan mikroakadások és undorító képtörések, akkor mindegy, de kérdés, hogy Vsnyc melletti fix 60 FPS után hányan térnének vissza a képtöréshez az input lag javára. Ahány embert eddig megkérdeztem, eddig mindenki a függőleges szinkronra szavazott, gyorsan, könnyen és egyértelműen, mert azonnal látták a drámai javulást, amit a képtörés megszüntetése okozott.

Én inkább egy pro/kontra összegzést írtam volna a végére, valamint azt, hogy mindenki lehetőség szerint próbálja meg be és kikapcsolt állapotban és mindenki el tudja dönteni magának, hogy neki hogy jobb. Azt sem ártott volna megemlíteni, hogy V-Sync téren is különböző implementációk vannak, minden játékmotor és játék más implementációt alkalmaz, ezáltal más lesz eredmény, tehát a játékélmény, hiába ugyanakkora a sebesség. Ha az írásban esetleg kizárólag a Double Vsnyc-re céloztál, akkor viszont eget értek, mert az valóban undorító dolog (ilyen van a Dead Space epizódokban, vagy a legutóbbi néhány NFS játékban).

Nálam minden játéknál az első indításkor rögtön az első dolgom, hogy ellenőrzöm, hogy be van-e kapcsolva a V-sync, mert én az első képtörésektől hányingert kapok és szerintem ezzel nem vagyok egyedül a Földön. :)

Ja és akkor még nem kerültek szóba a különféle hardver konfigurációk, különböző bemeneti egységek, a korábban említett játékmotorok (raw input végett), stb.

60fps gameplay videók: https://www.youtube.com/channel/UCG_2-vD7BIJf56R14CU4iuQ

(#7) VoidXs válasza Teasüti (#4) üzenetére


VoidXs
(PH! kedvence)

Most már összehasonlítás is van, két deszkás videóval. Gyorsan véleményt is változtatok: 4-5 képkockát is ráhúz a cucc, brutálisan pontatlan voltam vele régen.

Továbbá:
1. Roccat Kone[+], lézeres.
2. 1:1, gyorsítás zirró, 1000-es polling, 800 DPI.
3. 20%-os érzékenység, az összes dampening/acceleration/hasonló hülyeség kikapcsolva.
4. Új videók.

[ Szerkesztve ]

http://házido.ga/ - nem, nem ékezet nélkül. | Download more GHz!

(#8) VoidXs válasza huskydog17 (#6) üzenetére


VoidXs
(PH! kedvence)

Pár korrekció:

A 90-100 FPS szaggatás nem ott van, 65-75 környékén inkább, amikor jóval kisebb az esélye, hogy friss képkockát kapj.

Multiplayer FPS? Nézd meg az új videókat, ilyen csúszással az életben nem lesz senki jó játékos, akármennyire is tud játszani normális inputtal.

A legfurcsább az, hogy a lassításban látszik képtörés, méghozzá a közepén, de ez annyira nem feltűnő, mint alacsony FPS-en, amikor a tört képkockát néha még ki is tartja, vagy egy kicsivel később töri a következőn.

http://házido.ga/ - nem, nem ékezet nélkül. | Download more GHz!

(#9) Teasüti


Teasüti
(PH! kedvence)

Azt árulja el nekem vki, hogy lehet az, hogy már sok sok éve nem látom azt a jelenséget, hogy a Vsync lefelezi, vagy harmadolja az fps-t? Gyakorlatilag ilyet utoljára talán a Ge 7600 GT-m csinált, az azutáni kártyákkal és azóta is már nem áll be az fps a képfrissítés egész számú osztalékával korrigált értékekre, hanem ugyanúgy ingadozik, mint kikapcsolt Vsync esetén. :F
Egyedül a képfrissítés fps limitjéből tudom, hogy működik a Vsync (no meg ugye nincs képtörés).

De jó is volt akkoriban, azzal a kártyával. Még driverből lehetett szabályozni a játéktér objektumainak a LOD bias-át a "teljesítmény/minőség" csúszkával. :K Nem is szúrta ki a szemem egy játék sem a semmiből felbukkanó tárgyakkal és adott távolságnál instant textúrát cserélő objektumokkal. :W

[ Szerkesztve ]

Topikba tartozó kérdésekre nem válaszolok privátban.

(#10) Teasüti


Teasüti
(PH! kedvence)

Amúgy olvasgattam kicsit a témában (tweakguides, guru3d, tomshardware, stb), de sehol nem említik az input csonkítását. Input lag-ről lehet olvasni, de arról nem találtam írást, hogy elveszne a bevitel.

Topikba tartozó kérdésekre nem válaszolok privátban.

További hozzászólások megtekintése...
Copyright © 2000-2017 PROHARDVER Informatikai Kft.