Stránka 1 z 2

V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: stř 22. dub 2009, 13:22
od alienGT
Aspon si to teda myslim. Vsak si to prectete a povezte. Rad se necham poucit.

V pripade, ze mi karta neda 60FPS+ pada FPS na 30 resp. to taky neni pravdou vzdy. Nektere hry mi FRAPS ukazuje i mezi 30-60 FPS. Chci se tedy zeptat v cem to je?

1, bud karta po vypocitani snimku ceka na synch (behem teto doby nic nedela), tim padem pada FPS na 30
2, karta rovnez ceka na vsynch, ale behem teto doby jiz pocita dalsi screen. cili v tomto pripade je treba zobrazena scena v 2 a nasledne hned v 3 snimku monitoru. Je tohle vubec mozne nebo behem cekani na synch karta nemuze nic pocitat? U her, jenz mi ukazji onech 40-55FPS vidim rozdil v plynulosti behem zmeny narocnosti sceny. Proto bych netvrdil, ze existuje pouze 30 a 60FPS se zapnutym vsynchem. Jde podle me o to, jak je hra udelana.

Tak co varim z vody nebo na tom neco bude?

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: stř 22. dub 2009, 14:15
od Stratos
ja mam VS zaple uz nekolik let natvrdo v ovladacich a problemy nemam. Uz se to tu resilo u jednoho usera kteremu to delalo bordel co tobe a prisel na zajimavou vec. Pokud mel VS zaple jak v driverech i ve hre hra padla na 30fps, pokud zapnul VS jenom v driverech a ve hre dal na OFF slo to max 60fps a vse bylo OK.

VS zde podrobne vysvetloval nox takze pripadne skus na nej SZ abys to tu nemusel hledat ten jeho prispevek.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 13:51
od Flegy
alienGT: myslim si ze ses trosku zmatenej. to ze si zapnes vsynch neznamena ze budes mit porad fps rovnu obnovovaci frekvenci zobrazivaciho zarizeni. pokud grafika nebude schopna vykreslit tolik fps co je frekvence monitoru, je samozrejme ze bude mensi fps

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 13:56
od Trek
Flegy píše:alienGT: myslim si ze ses trosku zmatenej. to ze si zapnes vsynch neznamena ze budes mit porad fps rovnu obnovovaci frekvenci zobrazivaciho zarizeni. pokud grafika nebude schopna vykreslit tolik fps co je frekvence monitoru, je samozrejme ze bude mensi fps
Ne ne, pisou to kuci dobre, pokud to nastavis ve hre, pak potom kdyz fps jdou pod 60, tak vsync poladi fps na fixnich 30 (i kdyz mas treba 45).

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 14:07
od Krteq
To je samozřejmě blbost. Vertikální synchronizace, jak její název napovídá, pouze synchronizuje počet snímků renderovaných GPU s obnovovací frekvencí monitoru. Nic víc, nic míň. Flegy to popsal sakra dobře.

To co popisuješ se dá nazvat spíš frame-lockem, některé hry ho využívají (např. C&C RA3 - lock na 30FPS).

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 14:11
od Trek
Krteq píše: To co popisuješ se dá nazvat spíš frame-lockem, některé hry ho využívají (např. C&C RA3 - lock na 30FPS).
Tak si to zkus, az prijdu domu, tak si to schvalne prubnu, ale co si pamatuju a zkousel jsem to, tak to opravdu davalo fps na 30. Mozna jeste skutecne zalezi na hre, uvidime.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 14:30
od Ache
Rozdíl je v tom zda je použit doublebuffer nebo triplebuffer. Při double se do framebufferu grafiky připravuje jen jeden další snímek - a tak když fps klesne pod 60, tak spadne fps na polovinu. U triple se snímky uchovají 2 - a tak fps může být klidně 48fps a fps je stejné, ale je větší lag (což spolu s dalším lagem třeba LCDčka už může být trochu znatelné).

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 14:32
od no-X
Při běžném renderingu se stále překresluje frame-buffer (část paměti, do které se před zobrazením ukládá obraz pro monitor) a pokaždé, když si monitor řekne o snímek, tak je zobrazen aktuální obsah frame-bufferu. Problém je ale v tom, že frame-buffer může z poloviny obsahovat část rozkresleného snímku a z poloviny část původního snímku, takže se v obraze objevuje tearing - vodorovné zlomy.

Vertikální synchronizace znamená, že grafická karta má vždy kompletně uložený každý kompletně vykreslený snímek, dokud není kompletně vykreslen další. Pokaždé, když monitor snímek zobrazuje, odešle mu grafická karta ten poslední, který je kompletní - i kdyby v ten okamžik byl další snímek hotový třeba z 99%.

Tzn. pokud je refresh 60Hz a grafická karta vykresluje více, pak se bude zobrazovat skutečně jen 60FPS. To ale ničemu nevadí, protože monitor stejně nenís chopne zobrazit víc.

Pokud je framerate nižší - např. 50FPS, je zobrazen jeden snímek (č.1), ale protože další ještě není dokreslený (karta vykresluje pomaleji, než monitor zobrazuje), tak je při dalším refreshi znovu zobrazen snímek č.1, protože následující snímek ještě není hotový. Tzn., že se vždycky 2x za sebou zobrazuje tentýž snímek, takže je efektivně FPS poloviční - rovno 30.

Pokud by framerate klesl pod 30FPS, pak by se každý snímek zobrazoval 3x za sebou, což by znamenalo efektivně 20FPS (60Hz / 3 = 20) a tak.

Protože se při vertikální synchronizaci zobrazují pouze celé snímky, jsou aktuální hodnoty FPS vždy rovné celým zlomkům obnovovací frekvence. Tzn. 1/1, 1/2, 1/3, 1/4 atd.

Mluvíme ale o FPS v daném okamžiku. Hry totiž často zobrazují průměrné FPS za poslední vteřinu, půlvteřinu atp (neaktualizují hodnotu 60x za sekundu), takže hra může zobrazovat i jiné údaje, než tyto přesné zlomky. Je to dáno tím, že framerate není stabilní, ale kolísá mezi těmi jednotlivými hranicemi.

Pokud např. půl vteřiny karta vykresluje rychlostí 63 FPS a půl vteřiny 58 FPS, tak to v-sync stahne na 60 FPS / 30 FPS a pokud hra zobrazuje průměr za poslední sekundu, tak uvidíte 45 FPS. Okamžitý framerate ale skutečně odpovídá pouze těm celočíselným zlomkům.

Pokud se použije triple-buffering, je uchováván ještě jeden snímek navíc a umožní to lépe vyhladit "mezery", ale přidá to lag a pokud mluvíme o FPS kolem 20-30 FPS, tak už může mít dost výrazný vliv na hratelnost.

Další detaily v angličtině zde:

http://www.tweakguides.com/Graphics_9.html

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 14:48
od Stratos
tearing - vodorovné zlomy.

jo to me po prechodu na LCD stvalo nejvice dost rusive proto sem defakto presel na permanetni zapnute VS a od te doby mam klid.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 16:04
od Baneshee
Tak jsem konecne pochopil princip vsync :) Je zajimavy, ze jsou na to nektery hry hodne nachylny a bez VS se skoro nedaji hrat a jiny s tim nemaji problem vubec. Jen nechapu, ze se obraz vzdycky lame v polovine, proc ne treba ve tretine nebo ctvrtine, to grafika dava vystup do frame bufferu po pulkach obrazu?

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 16:44
od Stratos
Baneshee píše:Tak jsem konecne pochopil princip vsync :) Je zajimavy, ze jsou na to nektery hry hodne nachylny a bez VS se skoro nedaji hrat a jiny s tim nemaji problem vubec. Jen nechapu, ze se obraz vzdycky lame v polovine, proc ne treba ve tretine nebo ctvrtine, to grafika dava vystup do frame bufferu po pulkach obrazu?
me se to lamalo vetsinou na 3 stejny pruhy. Hlavne u FPS kdyz se clovek hodne rychle rozhlizel.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: čtv 23. dub 2009, 17:21
od Flegy
je to relativne nahodny. zadny "pravidlo pulky" neexistuje :)

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: sob 25. dub 2009, 21:36
od alienGT
Dekuji Ache a no-X za vysvetleni. Ten tripple-buffer to vysvetlil uplne jasne(muj bod 2).

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: sob 25. dub 2009, 23:31
od Carbonek
Takže je dobré si zapnout tripple-buffer když FPS padá pod 60FPS z V-sync?

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: pon 27. dub 2009, 14:30
od Trek
Carbonek píše:Takže je dobré si zapnout tripple-buffer když FPS padá pod 60FPS z V-sync?
To jo, akorat me ten triple buffer docela snizuje vykon.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: pon 27. dub 2009, 20:01
od no-X
Tripple-buffer by neměl snižovat výkon, jen prodloužit lag. Framerate by naopak při v-sync měl být vyšší - proto se používá :-)

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: úte 28. dub 2009, 16:36
od Trek
no-X píše:Tripple-buffer by neměl snižovat výkon, jen prodloužit lag. Framerate by naopak při v-sync měl být vyšší - proto se používá :-)
To mas asi pravdu, ovsem v mem pripade, kdy jsem to aplikoval na Crysis 1920x1200, Very High, 8xAA tak to zpomali, asi neni sdostatek pameti nebo neceho jineho v me GTX295, v nejaky tabulce jsem videl, ze Crysis zezere 710MB video pameti na very high.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: úte 28. dub 2009, 18:16
od no-X
Tak v tomhle případě to možné je. Pokud nestačí paměť a ještě zabereme další přidáním bufferu navíc, tak to moc veselé nebude, páč se ještě více dat musí tahat ze systémové paměti před PCI-E...

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: pát 29. kvě 2009, 12:41
od Stratos
nj GTX295 ma tu nevyhodu ze nema aspon 1GB pameti, Crysis je opravdu velkej zrout pameti a nekde sem videl screen kde sezral vic nez 800MB.

Re: V synch ON - neznamena pouze 60 nebo 30FPS

Napsal: sob 30. kvě 2009, 22:37
od kakao
Nevíte prosim,kde se Vsynch vypiná u ATI catalyst?Díky.