Vragen over g-sync / freesync / v-sync en FPS > refresh rate

Pagina: 1
Acties:

  • Bonsaiboom
  • Registratie: December 2009
  • Laatst online: 13-03 15:07
Hallo allemaal,

Inmiddels ben ik door alle syncs een beetje de weg kwijt. Ik weet dat je met freesync / g-sync tearing voorkomt als je FPS binnen een bepaald aangegeven bandbreedte zit, door de refresh rate van de monitor gelijk te stellen aan de FPS (dus 49FPS = 49 Hz) en daarmee een heel frame per refresh wordt getoond.

Ook weet ik dat je bij v-sync 'wacht' tot de refresh van de monitor, om vervolgens een heel frame te tonen. Onder de max refresh van je monitor levert dit stutters op, daarvoor zijn freesync en g-sync uitgevonden.

Hoe zit het met de 'syncs' boven de max refresh van je monitor? Dus als je bv een 60 Hz monitor hebt, en je 90 FPS draait in een spel. Als ik het goed begrijp heb je geen g-sync of freesync functionaliteit. En als je dan v-sync inschakelt, dan zou je volgens mij ook last hebben van stutters. Doe je dat niet, dan heb je last van tearing.

Klopt het bovenstaande? En hoe kan je dan een 'smooth', 'stutterless' en 'tearless' gameplay borgen als je FPS rond of boven de max refresh van je monitor zit?

Thanks!

  • Blaat
  • Registratie: September 2007
  • Laatst online: 06-06 15:00

Blaat

Moderator Harde Waren / BBG'er

Hardware Fanaat

Als je v-sync aanzet in een game waar je 90fps haalt met een 60Hz scherm, wordt je framerate beperkt naar 60fps. Dit heeft alleen het vervelende gevolg dat er vertraging ontstaat tussen jouw input en wat je op het beeld ziet, omdat de PC steeds op je monitor aan het wachten is.

Bij een adaptive sync (dus G-Sync of Freesync) monitor, is het verstandig om de ingebouwde framerate begrenzers die in zowel in de AMD als nVidia drivers zitten te gebruiken. Als je namelijk over de grens van je monitor heen gaat, krijg je tearing en dat probeer je juist te voorkomen. Deze begrenzer stel je dan iets onder de maximale refresh rate van je monitor in (dus 58fps bij een 60Hz monitor) waardoor je altijd binnen het adaptive sync bereik van je scherm blijft zitten. Deze methode voorkomt input lag, de boven genoemde vertraging en zorgt dat je nooit tearing of stutter krijgt. :)

Mijn naam is rood, mijn text is blauw. Jouw post wordt ge-edit, als je niet stopt met dat gemauw.


  • Bonsaiboom
  • Registratie: December 2009
  • Laatst online: 13-03 15:07
Dankjewel voor je antwoord :-)
Blaat schreef op donderdag 10 september 2020 @ 14:39:
Als je v-sync aanzet in een game waar je 90fps haalt met een 60Hz scherm, wordt je framerate beperkt naar 60fps. Dit heeft alleen het vervelende gevolg dat er vertraging ontstaat tussen jouw input en wat je op het beeld ziet, omdat de PC steeds op je monitor aan het wachten is.
Ok, deze snap ik. Als je GPU dus 90 fps kan, en je op 60fps limit middels v-sync, dan begint de GPU het volgende frame te renderen zodra de vorige is getoond. Dan snap ik de vertraging ook, tov het 90 FPS scenario (waarbij je elke 1/90 een getearde frame ziet)
Bij een adaptive sync (dus G-Sync of Freesync) monitor, is het verstandig om de ingebouwde framerate begrenzers die in zowel in de AMD als nVidia drivers zitten te gebruiken. Als je namelijk over de grens van je monitor heen gaat, krijg je tearing en dat probeer je juist te voorkomen. Deze begrenzer stel je dan iets onder de maximale refresh rate van je monitor in (dus 58fps bij een 60Hz monitor) waardoor je altijd binnen het adaptive sync bereik van je scherm blijft zitten. Deze methode voorkomt input lag, de boven genoemde vertraging en zorgt dat je nooit tearing of stutter krijgt. :)
Ik snap hoe het begrenzen op zeg 58 fps voorkomt dat je boven de refresh rate komt, en je dus in het adaptive sync bereik blijft. Alleen, hoe is dit dan anders dan het beperken op 60fps bij v-sync? Veroorzaak je hier niet dezelfde vertraging (immers, elke 1/58e seconde een frame).

Acties:
  • +1 Henk 'm!

  • Blaat
  • Registratie: September 2007
  • Laatst online: 06-06 15:00

Blaat

Moderator Harde Waren / BBG'er

Hardware Fanaat

Bonsaiboom schreef op donderdag 10 september 2020 @ 14:54:
Dankjewel voor je antwoord :-)


[...]


Ok, deze snap ik. Als je GPU dus 90 fps kan, en je op 60fps limit middels v-sync, dan begint de GPU het volgende frame te renderen zodra de vorige is getoond. Dan snap ik de vertraging ook, tov het 90 FPS scenario (waarbij je elke 1/90 een getearde frame ziet)


[...]


Ik snap hoe het begrenzen op zeg 58 fps voorkomt dat je boven de refresh rate komt, en je dus in het adaptive sync bereik blijft. Alleen, hoe is dit dan anders dan het beperken op 60fps bij v-sync? Veroorzaak je hier niet dezelfde vertraging (immers, elke 1/58e seconde een frame).
Het verschil is dat bij V-Sync de game op de achtergrond een aantal frames vooruit rendert. Deze worden in een buffer vastgehouden en exact bij elke refresh wergegeven om een constante frametime te garanderen. Omdat je beeld dan in feiten een paar frames achterloopt op je input ervaar je dat als lag.

Bij een framerate cap vertel je de software in feite dat je frametime niet korter mag zijn dan getal X. Dit heeft tot resultaat dat de game wacht met het starten van het renderen van een nieuw frame totdat zeker is dat dit gehaald kan worden. Dit lukt echter nooit helemaal precies, je frametime zal nooit 100% kloppen per frame. Bij een monitor met een vaste refresh rate is dat rampzalig want dan krijg je alsnog stutters. Bij panelen met adaptive sync is het niet erg als de frametime iets afwijkt, het paneel schikt zich er wel naar. Daarom moet je ook wat marge hebben in je framerate cap (deze dus niet exact op 60fps zetten bijvoorbeeld) omdat je frametime soms ook net per ongeluk te kort wordt, en je even kort tearing ziet.

Hoop dat dit het iets duidelijker maakt. :P

Mijn naam is rood, mijn text is blauw. Jouw post wordt ge-edit, als je niet stopt met dat gemauw.


Acties:
  • +1 Henk 'm!

  • Bonsaiboom
  • Registratie: December 2009
  • Laatst online: 13-03 15:07
Ja dat maakt het wel duidelijk voor me nu. Het gebruik van een frame-buffer voor v-sync veroorzaakt dan dus die input lag van meer dan 1 frame, en dat is bij de lager dan de FPS cap niet zo. Thanks! Maakt het duidelijker voor me :-) Ga ik hier mee experimenteren.

Acties:
  • +1 Henk 'm!

  • jimh307
  • Registratie: Februari 2014
  • Niet online
Blaat schreef op donderdag 10 september 2020 @ 14:39:
Als je v-sync aanzet in een game waar je 90fps haalt met een 60Hz scherm, wordt je framerate beperkt naar 60fps. Dit heeft alleen het vervelende gevolg dat er vertraging ontstaat tussen jouw input en wat je op het beeld ziet, omdat de PC steeds op je monitor aan het wachten is.

Bij een adaptive sync (dus G-Sync of Freesync) monitor, is het verstandig om de ingebouwde framerate begrenzers die in zowel in de AMD als nVidia drivers zitten te gebruiken. Als je namelijk over de grens van je monitor heen gaat, krijg je tearing en dat probeer je juist te voorkomen. Deze begrenzer stel je dan iets onder de maximale refresh rate van je monitor in (dus 58fps bij een 60Hz monitor) waardoor je altijd binnen het adaptive sync bereik van je scherm blijft zitten. Deze methode voorkomt input lag, de boven genoemde vertraging en zorgt dat je nooit tearing of stutter krijgt. :)
En dit hoeft niet zo te zijn of het is niet te merken. Ik heb een 1440p144 G-Sync scherm met een RTX2080 in gebruik.

UT2004: Een wat ouder spel inmiddels waarin ik ongeveer 400-500 fps haal. Vsync staat hier uit en het spel loopt watervloeiend zonder tearing (of niet zichtbaar). De input lag is minimaal en dat merk je. Ja, het spel werkt prima met Windows 10 met de ut2004-win64.exe. Dit spelletje uit 2004 ondersteund mooi even 64-bit. Hier inmiddels met 300+ custom maps.

Red dead redemption 2: Alles staat maxed out en in de benchmark haal ik maar 43 fps gemiddeld, maar het beeld hapert dan niet. Zou je een 60 Hz paneel hebben dan is het een en al stutters/schokken. Je ziet wel dat het een lagere framerate is als je snel beweegt, maar haperen, nee. Het blijft lekker lopen ondanks de lage framerate. Als je even bezig bent zie je het verschil met de oude trouwe 60 Hz monitor niet ondanks je op 45 fps zit te gamen. Watervloeiend zoals in ut2004 is het niet, maar het loopt best lekker.

The Witcher 3@ultra+HW+AA: zit ik rond de 80-110 fps en ook dit spel loopt watervloeiend. Ik zie het echt niet als ik een dip krijg naar 65 fps; exact waar G-sync in actie komt.

Assassins Creed Origins @ ultra + 160% res. scaling: heb ik vast moeten zetten op 45 fps en net zoals in RDR2 loopt het dan gewoon lekker. Snelle bewegingen zie je, maar loop je door de wereld heen dan zou je moeite krijgen om te schatten of het nu 45 fps is of 60 fps.


Dus G-sync alleen doet het niet. Dan is de range van G-Sync ook 30-144 Hz. Adaptive Sync ging 'geloof ik' tot maar 38 Hz. Ook de hoge refreshrate van de monitor zorgt ervoor dat YouTube filmpjes van 60 fps niet haperen of stotteren. Om nu echt de kracht van een hoge refresh rate te bekijken start je in YouTube een treinrit (cab view) en verhoog je telkens iets de afspeelsnelheid. Je ziet het beeld gewoon steeds vloeiender worden. Wel apart om te zien.
Tearing op een 60 Hz paneel is awful te noemen, maar tearing op 144 Hz zie je nauwelijks tot niet. Verder verander ik nooit iets in het Nvidia controle paneel en bij de installatie van de videodriver zet hij meteen de G-Sync mode aan. Alleen wel even de standaard desktop refreshrate op 144 Hz zetten. Ik zie dit meteen aan de bewegingen van de muis. Dit gaat gewoon veel en veel vloeiender.

Ik heb liever mijn rtx2080 met G-sync dan een rtx3080 zonder G-sync scherm. Op een 60 Hz scherm zie je het al als de framerate zakt van 60 naar 58 fps.

Na een SSD is een G-sync scherm de beste upgrade die jij jezelf kan wensen. Je wordt niet afgestraft als je videokaart het even moeilijker heeft ;)
Pagina: 1