VSync Fabels

Pagina: 1
Acties:
  • 424 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31
Allereerst: Waarom in Spielerij? Omdat het in 99% van de gevallen op games slaat en hier ook de meeste vage verhalen de ronde doen over VSync.

Ik lees af en toe dat mensen VSync uitzetten om een betere 'performance' te halen. Dit is simpelweg onzin:

Je bent altijd beperkt aan de refreshrate van je monitor, VSync aan of uit. Stel je draait je monitor op 100 Hz in je game, dan is je FPS uiteraard ook beperkt aan 100 FPS, want je monitor ververst maar 100x/seconde.

VSync zorgt ervoor dat de gegenereerde frames exact samenvallen met het verversen van de monitor. Zet je VSync uit dan kan het zijn dat bij sommige verversingen je 2 frames door elkaar ziet: 'banding'. Dit doordat de software geen rekening houdt met de monitor. Zet je VSync aan dan valt het genereren van frames exact samen met het verversen van je monitor.

Met VSync aan op 100 Hz genereert je videokaart dus (mits de performance het toelaat ;)) exact 100 frames. Met VSync uit genereert je videokaart misschien wel 150 frames, maar je monitor geeft er nog steeds maar 100 weer. 50 gerenderde frames gaan dus nodeloos verloren. Resultaat: Je videokaart wordt onnodig belast (niet onbelangrijk bij overgeklokte systemen) en de visual quality gaat omlaag door het ontstaan van banding.

Waarom denken mensen dan dat VSync uitzetten je performance verhoogt? Omdat de FPS-meter in hun game waarschijnlijk meer FPS aangeeft. Het maakt echter voor de zichtbare performance geen zak uit, want alle extra gegenereerde frames gaan verloren. En de frames die wel gebruikt worden vallen niet meer mooi samen met het verversen van je monitor.

Voor benchmarken is het dus wel interessant om te weten hoeveel je videokaart in theorie kan presteren, maar voor gewoon gamen is VSync uitzetten nutteloos, verkort mogelijk de levensduur van je videokaart en haalt je visual quality naar beneden.

Correct me if I'm wrong, maar performance verhogen doet het iig niet.

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 17:44
Van 60 naar 100 FPS is betere performance hoor :?
Bijna alle vragen gaan over dat de FPS max 60/70 is. Mja, ligt aan de monitor, haal je VSync weg, heb je dus performance WINST.

En de frames die je haalt merk je weinig van, maar het gaat toch echt wel smoother hoor, ook al staat je monitor op 60 hz.

Ik kan het verschil iig heel goed zien tussen 60 fps + 100 fps, terwijl ik 60hz draai.

Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Nu online

Exirion

Gadgetfetisjist

Bosmonster schreef op 13 oktober 2002 @ 12:07:
Correct me if I'm wrong, maar performance verhogen doet het iig niet.
Dat doet het wel zodra de framerate onder de refreshrate komt. Als je een niet al te snelle videokaart hebt dan kan de verhouding tussen framerate en refreshrate zodanig scheef worden dat de videokaart met veel moeite een frame heeft berekend en moet wachten om het af te beelden. Als er geen sync is dan kan de videokaart achter elkaar doorrekenen en zal het beeld minder gauw zichbaar schokken.

Het is prima te verklaren, en in de praktijk merk je het ook gewoon.

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 17:44
Exirion schreef op 13 oktober 2002 @ 12:11:
[...]

Dat doet het wel zodra de framerate onder de refreshrate komt. Als je een niet al te snelle videokaart hebt dan kan de verhouding tussen framerate en refreshrate zodanig scheef worden dat de videokaart met veel moeite een frame heeft berekend en moet wachten om het af te beelden. Als er geen sync is dan kan de videokaart achter elkaar doorrekenen en zal het beeld minder gauw zichbaar schokken.

Het is prima te verklaren, en in de praktijk merk je het ook gewoon.
Zat wat bewijs op te zoeken kom jij :( ;)

Maar goed, stukje van BosMonster is totale onzin, frames kunnen gewoon doorberekend worden, je haalt dan gewoon het max (als de game het toelaat).

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31
RedHat schreef op 13 oktober 2002 @ 12:09:
Van 60 naar 100 FPS is betere performance hoor :?
Bijna alle vragen gaan over dat de FPS max 60/70 is. Mja, ligt aan de monitor, haal je VSync weg, heb je dus performance WINST.

En de frames die je haalt merk je weinig van, maar het gaat toch echt wel smoother hoor, ook al staat je monitor op 60 hz.

Ik kan het verschil iig heel goed zien tussen 60 fps + 100 fps, terwijl ik 60hz draai.


Lijkt me erg sterk... je monitor ververst in beide gevallen gewoon 60x per seconde.. dus meer frames krijg je echt niet op je scherm.

Meer nut heeft het om je freshrate wat hoger te zetten.
RedHat schreef op 13 oktober 2002 @ 12:13:
[...]


Zat wat bewijs op te zoeken kom jij :( ;)

Maar goed, stukje van BosMonster is totale onzin, frames kunnen gewoon doorberekend worden, je haalt dan gewoon het max (als de game het toelaat).
Onzin... je videokaart rekent zich inderdaar het apelazerus :) De frames gaan toch verloren als je monitor ze niet weer kan geven??

Zeg dan ook welk stukje uit mijn tekst onzin is.. want logisch is het iig... dus waar maak ik een denkfout?

Acties:
  • 0 Henk 'm!

  • OcNewB
  • Registratie: Januari 2002
  • Laatst online: 26-09 15:57
Dat je niet eraan denkt dat soms de framerate onder de refreshrate komt..

Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Nu online

Exirion

Gadgetfetisjist

Bosmonster schreef op 13 oktober 2002 @ 12:16:
Zeg dan ook welk stukje uit mijn tekst onzin is.. want logisch is het iig... dus waar maak ik een denkfout?
Heb je mijn post wel gelezen?

Ik raad je aan om eerst eens wat dingen over de werking van 3D videokaarten te lezen voordat je stellingen gaat deponeren :)

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31
OcNewB schreef op 13 oktober 2002 @ 12:26:
Dat je niet eraan denkt dat soms de framerate onder de refreshrate komt..


Ok... maar dan snap ik nog niet dat het je performance kan verhogen. Je monitor ververst ook als je FPS lager is nog N x per seconde. Je videokaart kan de monitor voor zover ik weet niet forceren om een frame weer te geven. De monitor geeft gewoon met elke refresh een frame weer, ongeacht wat de videokaart klaar heeft liggen.
Exirion schreef op 13 oktober 2002 @ 12:32:
[...]

Heb je mijn post wel gelezen?

Ik raad je aan om eerst eens wat dingen over de werking van 3D videokaarten te lezen voordat je stellingen gaat deponeren :)
Ik heb je post gelezen.. en kan me voorstellen dat wanneer je videokaart meer tijd nodig heeft om een frame te berekenen dan de monitor nodig heeft om een frame af te beelden het winst op kan leveren, hoewel de visual quality wel weer omlaag gaat.

Het was trouwens exact wat je zegt.. een stelling...

Acties:
  • 0 Henk 'm!

  • pagani
  • Registratie: Januari 2002
  • Niet online
1.: Het synchen met de monitor kost rekenkracht/performance, niet geweldig veel maar wel wat.
2.: Hetzelfde verhaal heb je nu met 128 bits floating point kleur. Je monitor kan het niet weergeven, maar door de hogere precisie kan er een realistischere kleurechtheid bereikt worden.
edit:

3.: Volgens mij kan alleen superman het verschil merken tussen 60 en 100 fps...

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 17:44
Het is onzin dat je geen performance winst krijgt, want je hebt wel performance winst. In Exirions post staat precies hoe het zit. Lees dat nog een keer zou ik zeggen.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31
RedHat schreef op 13 oktober 2002 @ 12:50:
Het is onzin dat je geen performance winst krijgt, want je hebt wel performance winst. In Exirions post staat precies hoe het zit. Lees dat nog een keer zou ik zeggen.


Ik snap hem wel.. maar had alleen gekeken naar als je een FPS hebt hoger dan je refreshrate.

Bij een FPS lager dan je refreshrate kan het wachten schelen van je videokaart op je monitor, al kan ik me geen enorme verschillen indenken.
johnnyv.nl schreef op 13 oktober 2002 @ 12:48:

2.: Hetzelfde verhaal heb je nu met 128 bits floating point kleur. Je monitor kan het niet weergeven, maar door de hogere precisie kan er een realistischere kleurechtheid bereikt worden.

[/edit]
Niet echt vergelijkbaar imho. De extra kleurdiepte is ook nooit bedoeld om weer te geven, maar slechts bedoeld voor een hogere INTERNE precisie..

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 17:44
Jij vroeg of je performancewinst kreeg, heb je dus wel, al is het weinig 8)7
Het gekke is, in windows moet ik 60hz draaien, anders krijg ik hoofdpijn :(
Hebbet wel n's vaker geprobeerd op 70hz, niet te doen :'( . Ben een vreemd mannetje :'(

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31
RedHat schreef op 13 oktober 2002 @ 13:05:
Jij vroeg of je performancewinst kreeg, heb je dus wel, al is het weinig 8)7
Het gekke is, in windows moet ik 60hz draaien, anders krijg ik hoofdpijn :(
Hebbet wel n's vaker geprobeerd op 70hz, niet te doen :'( . Ben een vreemd mannetje :'(


Dat kun je wel zeggen ja :P 60 Hz is net een stroboscoop. Maar kun je geen 85 Hz+ draaien dan??

Acties:
  • 0 Henk 'm!

  • RedHat
  • Registratie: Augustus 2000
  • Laatst online: 17:44
Mijn monitor kan dat niet aan op 1280x1024 :)

Acties:
  • 0 Henk 'm!

  • Jake
  • Registratie: September 1999
  • Niet online
Als je 100 Hz hebt en je videokaart kan maar 90 fps dan zal je met vsync 50 fps krijgen. Maar zonder vsync krijg je halve frames (dus ene deel van scherm is een frame verder dan het andere deel). Als je PC maar 45 fps kan dan zal ie er met vsync 33.33 weergeven. Juist bij een slecht presterende PC scheelt het steeds minder.

De een vindt het fijn om met iets minder lag te gamen: de frame zonder vsync is bijna altijd nieuwer dan de frame met (het scheelt weinig). De ander vindt een constante(re) framerate (en dus een constante lag veroorzaakt door je PC, lag van je verbinding is meestal hoger) fijner. Het is maar waar je aan gewend bent.

Daardat mijn TV-out (altijd) aanstaat (op clone) heb ik met vsync altijd 50 fps (zolang PC het trekt). Als ik vsync uit zet heb ik duidelijk dubbele frames, dus ik kies voor aan (en ben daar verder aan gewend).

Acties:
  • 0 Henk 'm!

Verwijderd

UseVSync=True heb ik staan in UT, dan geeft ie tot de 570 FPS MAX @ 1024x768/16bit bij de FPS meter van UT "timedemostatitics" dus, als ik vsync op false heb staan geeft ie nooit meer dan 85 FPS weer, daar draait mijn monitor ook op @ 85 Hz.
Maar wat is het verschil nu iig dan ?

Acties:
  • 0 Henk 'm!

  • DarkX
  • Registratie: December 2000
  • Laatst online: 01-09-2018

DarkX

Ik?

Jake schreef op 13 oktober 2002 @ 13:21:
Als je 100 Hz hebt en je videokaart kan maar 90 fps dan zal je met vsync 50 fps krijgen. Maar zonder vsync krijg je halve frames (dus ene deel van scherm is een frame verder dan het andere deel). Als je PC maar 45 fps kan dan zal ie er met vsync 33.33 weergeven. Juist bij een slecht presterende PC scheelt het steeds minder.

De een vindt het fijn om met iets minder lag te gamen: de frame zonder vsync is bijna altijd nieuwer dan de frame met (het scheelt weinig). De ander vindt een constante(re) framerate (en dus een constante lag veroorzaakt door je PC, lag van je verbinding is meestal hoger) fijner. Het is maar waar je aan gewend bent.

Daardat mijn TV-out (altijd) aanstaat (op clone) heb ik met vsync altijd 50 fps (zolang PC het trekt). Als ik vsync uit zet heb ik duidelijk dubbele frames, dus ik kies voor aan (en ben daar verder aan gewend).
Eh. Dan krijg je echt geen 50 fps hoor. Hij zorgt dat die 90 fps samenvallen met de refresh van je monitor, maar het is niet zo dat ie dan ineens de helft van de frames gaat weggooien zover ik weet.

Maar wat ik altijd begrepen heb is dat vsynch alleen helpt tegen tearing, en dat het niets met de performance frameratewise te maken had.

"We need to have a talk about the birds and the bee gees..."
FreeStroke: Playing acoustic guitars at eleven!


Acties:
  • 0 Henk 'm!

  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 02:45

Sponge

Serious Game Developer

De software gaat wachten totdat de monitor is klaar met het electronen kannon aan en uit te zetten. Inderdaad zul je de meer FPS niet zien. Overigens kan het bij sommige video kaarten tot 'artifacts' leiden.

Maar, de software krijgt wel meer tijd om nieuwe dingen te doen, zoals bijvoorbeeld meer tijd aan de AI instructies besteden.

offtopic:
Trouwens, ik heb m'n vertrouwen in die FPS meter van UT verloren, ik haal 500> fps met een Voodoo3 en een AMD 500,512mb ram. (en met 'stat fps' klopt de fps ook nog)

Acties:
  • 0 Henk 'm!

  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 27-09 23:29
er liep hier vorrige week al een topic over dacht ik :D
maar het verschil tussen 80 en 100+ fps kan je mischien niet zien maar wel merken..
als jij gewent bent om achter een reso van 1280*1024 @ 100Hz te werken en iemand zet je scherm op 85Hz zie je het niet maar merk je dat echt wel..
zelfde geld voor FPs

Bier, Whiskey en Metal!!


Acties:
  • 0 Henk 'm!

  • Mesh
  • Registratie: Januari 2001
  • Laatst online: 21-08-2024

Mesh

Use the FAQing SEARCH!

Signature?


Acties:
  • 0 Henk 'm!

  • Jake
  • Registratie: September 1999
  • Niet online
DarkX schreef op 13 oktober 2002 @ 16:22:
Eh. Dan krijg je echt geen 50 fps hoor. Hij zorgt dat die 90 fps samenvallen met de refresh van je monitor, maar het is niet zo dat ie dan ineens de helft van de frames gaat weggooien zover ik weet.
De enige manier om een constante 90 fps met de 100 Hz van je monitor samen te laten vallen of toch 50 Hz weergeven?

Let wel: alleen als het dus constant is.

PC rendert een frame, wacht op puls (monitor Hz) en rendert de volgende frame. Omdat de PC de 100 fps niet haalt, slaat ie altijd een monitor puls over => 50 Hz

Meestal is je fps niet zo constant, dus zal ie er soms wel overheen komen.

Als ik het fout heb ook best, maar dan mag jij uitleggen hoe jij dacht dat het ging.
Maar wat ik altijd begrepen heb is dat vsynch alleen helpt tegen tearing, en dat het niets met de performance frameratewise te maken had.
Tuurlijk wel, want hij displayed alleen hele frames, die dus altijd iets ouder zijn dan half ververste frames.
De vraag is: wil je die extra performance ten koste van beeldkwaliteit. Dat moet iedereen voor zich weten.

Acties:
  • 0 Henk 'm!

  • DarkX
  • Registratie: December 2000
  • Laatst online: 01-09-2018

DarkX

Ik?

Jake schreef op 14 oktober 2002 @ 11:48:
[...]

De enige manier om een constante 90 fps met de 100 Hz van je monitor samen te laten vallen of toch 50 Hz weergeven?

Let wel: alleen als het dus constant is.

PC rendert een frame, wacht op puls (monitor Hz) en rendert de volgende frame. Omdat de PC de 100 fps niet haalt, slaat ie altijd een monitor puls over => 50 Hz

Meestal is je fps niet zo constant, dus zal ie er soms wel overheen komen.

Als ik het fout heb ook best, maar dan mag jij uitleggen hoe jij dacht dat het ging.
Nou, wat ik niet helemaal volg is waarom hij persee elke pulse zo overslaan? Als hij het tactisch synched en er 1 op de 10 overslaat dan hou je fijn je 90 fps over. Je vidkaart gooit fijn zijn beeldjes in de buffer, en vsynch zorgt dat hij tegelijk met je monitor refresh op het beeld komt.
Tuurlijk wel, want hij displayed alleen hele frames, die dus altijd iets ouder zijn dan half ververste frames.
De vraag is: wil je die extra performance ten koste van beeldkwaliteit. Dat moet iedereen voor zich weten.
Erhm. De beeldkwaliteit gaat juist OMHOOG, omdat je geen tearing en andere anomalies krijgt, en je aantal FPS krijgt een maximum van de refresh rate van je monitor. Dus je fps-perfomance kan alleen omlaag gaan, niet omhoog. Wat jij in bovenstaande zin bedoelt begrijp ik niet geheel :? Die onderste zin geld juist bij v-synch uit toch?

"We need to have a talk about the birds and the bee gees..."
FreeStroke: Playing acoustic guitars at eleven!


Acties:
  • 0 Henk 'm!

  • Jake
  • Registratie: September 1999
  • Niet online
DarkX schreef op 15 oktober 2002 @ 14:50:
Nou, wat ik niet helemaal volg is waarom hij persee elke pulse zo overslaan? Als hij het tactisch synched en er 1 op de 10 overslaat dan hou je fijn je 90 fps over. Je vidkaart gooit fijn zijn beeldjes in de buffer, en vsynch zorgt dat hij tegelijk met je monitor refresh op het beeld komt.
Of hij doet:
Ik render frames zet ze in buffer je haalt ze er maar uit (dan inderdaad ongeveer 90 op je beeld maar soms met 50 fps en meestal met 100 fps) *
Of hij doet:
Ik render een frame, die zet ik in de buffer. Als de PC hem displayed maak kaart de volgende (of begint opnieuw). In dist geval heb je 50 fps, want de frame is nooit op tijd klaar om meteen mee te gaan.

* Dus niet gemiddeld, maar steeds absoluut.

Ik weet NIET hoe het gaat, maar als je vsync op altijd aan zet kan je niet meer instellen hoeveel frames er "vooruit gerekend" moeten worden in D3D (nVidia met coolbits). Dus het zal wel iets met elkaar te maken hebben.
Erhm. De beeldkwaliteit gaat juist OMHOOG, omdat je geen tearing en andere anomalies krijgt, en je aantal FPS krijgt een maximum van de refresh rate van je monitor. Dus je fps-perfomance kan alleen omlaag gaan, niet omhoog. Wat jij in bovenstaande zin bedoelt begrijp ik niet geheel :? Die onderste zin geld juist bij v-synch uit toch?
Ja, die zin slaat inderdaad op Vsync uit. Maar daarmee is de zin niet fout, je moet gewoon kiezen tussen beeldkwaliteit en misschien extra performance.

[ Voor 0% gewijzigd door Jake op 15-10-2002 16:50 . Reden: * toegevoegd ]


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 22-09 16:31
If you look in Display Properties, you may see an option to disable VSYNC in OpenGL by not Direct3D. Why is this? Well, in order to receive Microsoft's WHQL certification, this option cannot be available. Microsoft does not want Direct3D games to be played without VSYNC.
Microsoft wil dus optimale beeldkwaliteit :P

Acties:
  • 0 Henk 'm!

  • DarkX
  • Registratie: December 2000
  • Laatst online: 01-09-2018

DarkX

Ik?

Jake schreef op 15 oktober 2002 @ 16:46:
[...]

Of hij doet:
Ik render frames zet ze in buffer je haalt ze er maar uit (dan inderdaad ongeveer 90 op je beeld maar soms met 50 fps en meestal met 100 fps) *
Of hij doet:
Ik render een frame, die zet ik in de buffer. Als de PC hem displayed maak kaart de volgende (of begint opnieuw). In dist geval heb je 50 fps, want de frame is nooit op tijd klaar om meteen mee te gaan.

* Dus niet gemiddeld, maar steeds absoluut.

Ik weet NIET hoe het gaat, maar als je vsync op altijd aan zet kan je niet meer instellen hoeveel frames er "vooruit gerekend" moeten worden in D3D (nVidia met coolbits). Dus het zal wel iets met elkaar te maken hebben.
Nou. Zover ik weet verlies je geen frames zolang je onder de maxframerate blijft, dus die tweede optie lijkt me dan raar :)
Ja, die zin slaat inderdaad op Vsync uit. Maar daarmee is de zin niet fout, je moet gewoon kiezen tussen beeldkwaliteit en misschien extra performance.
Ah. Als ie op Vsynch uit slaat dan klopt ie wel, maar begreep uit de context even anderzijds en dan was ie raar :)

"We need to have a talk about the birds and the bee gees..."
FreeStroke: Playing acoustic guitars at eleven!


Acties:
  • 0 Henk 'm!

Verwijderd

Ik speel altijd met vsync aan, omdat anders bijv bij een toren het onderste gedeelte al verder getekend is als het onderste gedeelte van de toren en dat vind ik echt irritant, en verder merk ik het niet echt of die uit of aan staat in performance, als een game maar 40fps of meer heeft loopt die voormij soepel hoor.

Acties:
  • 0 Henk 'm!

  • DarkX
  • Registratie: December 2000
  • Laatst online: 01-09-2018

DarkX

Ik?

Verwijderd schreef op 18 oktober 2002 @ 21:33:
Ik speel altijd met vsync aan, omdat anders bijv bij een toren het onderste gedeelte al verder getekend is als het onderste gedeelte van de toren en dat vind ik echt irritant, en verder merk ik het niet echt of die uit of aan staat in performance, als een game maar 40fps of meer heeft loopt die voormij soepel hoor.
En daar is Vsynch dus nuttig voor, die tearing :)

"We need to have a talk about the birds and the bee gees..."
FreeStroke: Playing acoustic guitars at eleven!


Acties:
  • 0 Henk 'm!

  • jasjenl
  • Registratie: Maart 2000
  • Laatst online: 15:05

jasjenl

Liab A Tymo

Als games programmeur wordt ik geacht hier verstand van te hebben ;) dus ik zal hier ook eens wat reageren. In principe is het verhaal van Bosmonster geen onzin, je monitor kan inderdaad nooit meer frames per seconde weergaven dan de refreshrate. Daarom zijn consoles ook zo prettig om voor te ontwikkelen: daar heb je altijd een vaste refreshrate (nl. 50 of 60 hz) en kun je altijd 50 of 60 fps als framerate aanhouden. In principe heeft het dus geen zin om de vsync uit te zetten als je systeem snel genoeg is om altijd minimaal een gelijke fps te halen als je refreshrate, het zal daar nooit mooier van worden (je krijgt tearing) en het zal er ook nooit soepeler van gaan lopen (als je fps exact gelijk loopt met je refreshrate, wat je met vsync dus kunt bewerkstelligen, heb je altijd een 100 % smoothe beeldupdate). Als je pc echter niet zo snel is en bijvoorbeeld 90 fps aankan terwijl je je monitor op 100 hz hebt staan, zou het in theorie inderdaad als gevolg kunnen hebben dat je framerate inzakt tot 50 fps. Echter, in de praktijk kost niet elk frame evenveel tijd om te renderen. Als je een refreshrate van 100 hz hebt mag je pc over elk frame maximaal 10 ms doen. De ene keer zal ie er misschien net iets langer over doen en de andere keer net iets korter. Als de computer nu steeds, nadat hij een frame gerendered heeft, zou gaan wachten tot deze gedisplayed wordt (dus gaat wachten op de vsync) en hij zou over dat renderen steeds net iets langer doen dan 10 ms, zou je dus inderdaad steeds maar 50 fps krijgen en bovendien heel veel processortijd weggooien. Daarom bestaat er zoiets als double buffering: nadat een frame is gerendered, wordt deze (bij vsync aan) klaar gezet om als de vsync plaatsvindt getoond te worden. Ondertussen gaat de pc alvast aan de slag met het renderen van het volgende frame, want het is zonde om die processor tijd weg te gooien. Double buffering voorkomt met name bij vsync aan dat je refreshrate nog mee in kan zakken. Stel bijvoorbeeld dat elk frame 12 ms aan rendertijd zou kosten. Zou je niet double bufferen, dan zou er bij elk frame een keer een extra vsync gewacht moeten worden. Het eerste frame (dat na 12 ms gerendered was) zou dan bijvoorbeeld pas na 20 ms worden getoond en het tweede (dat na 32 ms gerendered was) na 40 ms. Met double buffering wordt het eerste frame ook na 20 ms getoond, maar het tweede frame, dat nu al na 24 ms klaar was kan meteen bij de volgende vsync op 30 ms getoond worden. Variaties in rendertijd per frame kunnen zo een beetje opgevangen worden zodat de framerate bij vsync soepeler blijft. Je kunt dit nog verder doorvoeren door nog een extra frame vooruit te renderen (triple buffering), maar op een gegeven moment houdt 't op, anders gaan de frames teveel achterlopen t.o.v. de werkelijke tijd.
Of met vsync aan je refreshrate dus daadwerkelijk erg inzakt als je pc net niet snel genoeg is, hangt voor een groot deel af hoe het spel geprogrammeerd is. In principe ziet het er met vsync mooier uit (want geen tearing), maar in de praktijk geven sommigen toch aan vsync uit de voorkeur.
Pagina: 1