Hvad er Vsync, og skal du bruge det?

Vsync er en mulighed, som du vil se i de fleste pc-videospil(PC video games) og nogle gange endda i andre programmer. Men hvad er Vsync ? Hvad gør den? Skal du tænde eller slukke for det? 

Svaret på dette er kompliceret, men når du først forstår formålet med Vsync , ved du, hvornår du skal tænde eller slukke for det.

Hvad er Vsync?

Den første ting du skal vide er, at din skærm kan vise et vist antal diskrete billeder hvert sekund. Dette er kendt som opdateringshastigheden(refresh rate) , hvilket er, hvor mange gange skærmen helt kan opdatere billedet på skærmen med noget nyt.

Hvis du ikke allerede ved det, skabes illusionen om levende billeder på en skærm ved hurtigt at vise en sekvens af stillbilleder. Hvert billede viser motivet i et andet stykke tid. De fleste film, du ser i biografen, optages med 24 billeder i sekundet. Så du ser 24 udsnit af tid vist inden for hvert sekund. 

Der er også masser af indhold optaget med 30 og 60 billeder i sekundet. Actionkamera(Action camera) -optagelser optages for eksempel typisk med 60 billeder i sekundet.

Jo mere unikke rammer, der kan vises på et sekund, jo mere jævne og skarpere bevægelse fremstår. Din hjerne slår rammerne sammen og opfatter det som et levende billede.

I et computersystem forbereder GPU'en(GPU) (grafikbehandlingsenhed) rammer til at blive sendt til skærmen. Men hvis skærmen ikke er klar til en ny ramme, fordi den stadig arbejder på at tegne den forrige, kan det forårsage en situation, hvor dele af forskellige rammer vises på samme tid. Vsync er beregnet til at forhindre denne situation ved at synkronisere rammerne fra GPU'en(GPU) til skærmens opdateringshastighed.

Typiske opdateringshastigheder

Den mest almindelige skærmopdateringshastighed derude er 60Hz. Det vil sige 60 opdateringer i sekundet. De fleste computerskærme og fjernsyn tilbyder mindst så meget. 

Du kan også købe computerskærme i en række forskellige opdateringshastigheder(refresh rates) , som omfatter; 75 Hz, 120 Hz, 144 Hz, 240 Hz og 300 Hz. Der kan også være andre ulige numre, men disse er typiske, hvor højere opdateringshastigheder er sjældnere uden for specialiserede spilsystemer. 

Fjernsyn er næsten alle 60 Hz-enheder, hvor 120 Hz - sæt nu kommer ind på mainstream-markedet sammen med den seneste generation af spillekonsoller, der understøtter denne opdateringshastighed.

Matchende billedhastigheder (Frame) til(Rate) opdateringshastighed _(Rates)

Skærmens opdateringshastighed behøver ikke at svare nøjagtigt til billedhastigheden for indholdet. For eksempel, hvis du afspiller video med 30 billeder pr. sekund på en 60Hz-skærm, skal du blot vise to identiske billeder ved 60Hz, i alt 30 unikke billeder. 

24fps-optagelser udgør en udfordring, da 24 ikke deler sig pænt i 60. Der er forskellige måder at løse dette på. Nogle skærme bruger en form for videokonvertering kendt som en "pulldown", der kompenserer for uoverensstemmelsen på bekostning af at køre indholdet med en lidt anden hastighed end beregnet. 

Mange moderne skærme kan også skifte til forskellige opdateringshastigheder. Så et tv kan skifte til 48 Hz eller endda 24 Hz for at få perfekt synkronisering med 24fps-optagelser. 120Hz TV'er(TVs) behøver ikke at gøre dette, da 24 deler sig jævnt i 120.

Hvornår skal man bruge Vsync

Med videospil produceres rammer ikke på en sådan ordnet måde som med film eller video. Efterladt uden nogen begrænsere forsøger CPU'en(CPU) , GPU'en(GPU) og spilmotoren at producere så mange frames som muligt. Men da den arbejdsbyrde, som spilmotoren lægger på disse komponenter, kan variere, kan billedhastigheden svinge.

Som nævnt ovenfor, når GPU'en(GPU) sender rammer, der ikke er synkroniseret med skærmens opdateringshastighed, vil du få det afslørende skærm-rivende(screen tearing) udseende, hvor forskellige dele af billedet ikke er på linje.

Når du aktiverer Vsync , udsender din GPU kun en ramme, der skal vises, når skærmen er klar til at tegne en ny ramme, hvilket også effektivt begrænser hastigheden, hvormed billeder gengives. Men dette kan faktisk forårsage endnu et problem, der skyldes, hvordan frames er "bufret". Dernæst vil vi diskutere to almindelige typer rammebuffring.

Dobbelt- Versus Triple- Buffered Vsync

En "buffer" er et hukommelsesområde, der er udpeget som et venteområde, der skal læses, når en anden enhed eller proces er klar til det. Når din GPU gengiver en ramme, skrives den til en buffer. Så læser skærmen rammen fra den buffer for at tegne den. 

Såkaldt "double buffering" er normen i dag. Der er to buffere, som skiftes til at fungere som "forreste" og bageste buffer. Displayet tegner rammen fra den forreste buffer, mens GPU'en(GPU) skriver til den bagerste buffer. Derefter skifter de to buffere roller, og processen gentages.

Uden Vsync kan de to buffere skiftes til enhver tid. Så det er muligt, at skærmen vil tegne en del af hver buffer i rammen, hvilket resulterer i rivning. Når du tænder for Vsync , forsvinder denne rivning. Men hvis GPU'en(GPU) ikke formår at skrive færdig til bagbufferen på 1/60 af et sekund, springes den ramme over. Dette resulterer i effektive 30 billeder i sekundet. 

Medmindre din computer konsekvent kan gengive 60 billeder i sekundet, risikerer du at opleve enten låste 30 fps eller vildt svingende framerates, der snapper mellem 30 og 60.

Triple-buffering tilføjer en ekstra bagbuffer, hvilket betyder, at der altid er en ramme klar til at blive skiftet til den forreste buffer, hvilket gør det muligt at have ulige tal såsom 45 eller 59 billeder i sekundet på en 60 Hz skærm. Hvis du får muligheden, er triple-buffering altid en god mulighed.

Forbedrede Vsync-typer

Grafikkortproducenter kæmper fortsat med skærmrivning og andre artefakter forårsaget af skærmrivning. Hver større producent er kommet med avancerede versioner af Vsync , der forsøger at tilbyde alle fordelene uden ulemperne.

Nvidia har AdaptiveSync og FastSync , hver med deres egen intelligente tilgang til Vsync . Førstnævnte slår kun Vsync til , hvis et spils billedhastighed er lig med eller højere end opdateringshastigheden. Skulle det falde under det, er Vsync deaktiveret, hvilket eliminerer bufferforsinkelse. Sidstnævnte løsning er bedre, da den muliggør triple buffering og giver den højeste billedhastighed uden at rive.

AMD har Enhanced Sync , som er ligesom AdaptiveSync .

Vsync versus variabel opdateringshastighed

Der er et kraftfuldt alternativ til Vsync kendt som variabel opdateringshastighed. Nvidias teknologi er kendt som G-Sync og AMD har udviklet FreeSync , men har gjort det gratis og åbent for alle at bruge.

Begge teknologier lader skærmen og GPU'en(GPU) tale med hinanden på en sådan måde, at frames synkroniseres med næsten fejlfri præcision. Med andre ord er alle ulemper ved Vsync behandlet her. 

Den vigtigste advarsel er, at skærmen selv skal understøtte teknologien. Det er sjældent at finde skærme, der understøtter begge standarder, men Nvidia har for nylig givet efter og tilføjet FreeSync- understøttelse til visse skærme. Du kan også forsøge at aktivere FreeSync på skærme, der ikke er hvidlistet af Nvidia , men resultaterne er muligvis ikke gode i nogle tilfælde.

Så lad os opsummere, hvad du har brug for at vide om at bruge Vsync :

  • Hvis dit spil ikke kan opretholde en billedhastighed, der er lig med eller over din skærms opdateringshastighed, skal du aktivere triple buffering eller sænke opdateringshastigheden.
  • Hvis din GPU tilbyder en mere avanceret version af Vsync , er det værd at prøve.
  • G-Sync og FreeSync er ønskværdige alternativer til Vsync, hvis du har adgang til dem.
  • Hvis du vil have et minimum af inputlag til konkurrencedygtigt spil, skal du slukke for Vsync og leve med, at skærmen rives, hvis variabel opdatering ikke er tilgængelig.

Det er det grundlæggende i, hvad Vsync er. Gå nu derud og hav det sjovt med en spiloplevelse uden tårer.



About the author

Jeg er datamatiker med over 10 års erfaring med softwareudvikling og sikkerhed. Jeg har en stærk interesse i Firefox, Chrome og Xbox-spil. Især er jeg særligt interesseret i, hvordan jeg sikrer, at min kode er sikker og effektiv.



Related posts