Vad är Vsync och ska du använda det?

Vsync är ett alternativ som du kommer att se i de flesta PC-videospel(PC video games) och ibland även i andra applikationer. Men vad är Vsync ? Vad gör den? Ska man slå på eller stänga av den? 

Svaret på detta är komplicerat, men när du väl förstår syftet med Vsync vet du när du ska slå på eller stänga av det.

Vad är Vsync?

Det första du behöver veta är att din monitor kan visa ett visst antal diskreta bilder varje sekund. Detta är känt som uppdateringsfrekvensen(refresh rate) , vilket är hur många gånger monitorn helt kan uppdatera bilden på skärmen med något nytt.

Om du inte redan vet skapas illusionen av rörliga bilder på en skärm genom att snabbt visa en sekvens av stillbilder. Varje bild visar motivet i en annan tidsperiod. De flesta filmer du ser på bio spelas in med 24 bilder per sekund. Så du ser 24 tidssnitt som visas inom varje sekund. 

Det finns också massor av innehåll inspelat med 30 och 60 bilder per sekund. Actionkamerafilmer(Action camera) , till exempel, spelas vanligtvis in med 60 bilder per sekund.

Ju mer unika bildrutor som kan visas på en sekund, desto mjukare och skarpare rörelse visas. Din hjärna slår samman ramarna och uppfattar det som en rörlig bild.

I ett datorsystem förbereder GPU :n (graphics processing unit) ramar för att skickas till skärmen. Men om skärmen inte är redo för en ny ram eftersom den fortfarande arbetar med att rita den föregående, kan det orsaka en situation där delar av olika ramar visas samtidigt. Vsync är tänkt att förhindra denna situation genom att synkronisera ramarna från GPU :n till bildskärmens uppdateringsfrekvens.

Typiska uppdateringsfrekvenser

Den vanligaste skärmens uppdateringsfrekvens där ute är 60Hz. Det vill säga 60 uppdateringar per sekund. De flesta datorskärmar och tv-apparater erbjuder åtminstone så mycket. 

Du kan också köpa datorskärmar i en mängd olika uppdateringsfrekvenser(refresh rates) , som inkluderar; 75Hz, 120 Hz, 144 Hz, 240 Hz och 300 Hz. Det kan finnas andra udda nummer också, men dessa är typiska, med högre uppdateringsfrekvens som är sällsyntare utanför specialiserade spelsystem. 

TV-apparater är nästan alla 60 Hz-enheter, med 120 Hz- apparater som nu kommer in på den vanliga marknaden tillsammans med den senaste generationen spelkonsoler som stöder den uppdateringsfrekvensen.

Matcha bildfrekvenser(Frame) till uppdateringsfrekvens (Rate)_(Rates)

Skärmens uppdateringsfrekvens behöver inte matcha innehållets bildfrekvens exakt. Om du till exempel spelar upp 30 bildrutor per sekund på en 60Hz-skärm behöver du bara visa två identiska bildrutor vid 60Hz, totalt 30 unika bildrutor. 

24fps-filmer utgör en utmaning, eftersom 24 inte delas upp i 60. Det finns olika sätt att lösa detta. Vissa skärmar använder en form av videokonvertering som kallas en "pulldown" som kompenserar för oöverensstämmelsen till priset av att köra innehållet i en något annan hastighet än vad som är tänkt. 

Många moderna skärmar kan också växla till olika uppdateringshastigheter. Så en TV kan byta till 48 Hz eller till och med 24 Hz för att få perfekt synkronisering med 24fps-bilder. 120Hz TV- apparater(TVs) behöver inte göra detta, eftersom 24 delar sig jämnt i 120.

När ska man använda Vsync

Med videospel produceras ramar inte på ett så ordnat sätt som med film eller video. Utan några limiters försöker CPU , GPU och spelmotorn att producera så många ramar som möjligt. Men eftersom den arbetsbelastning som spelmotorn lägger på dessa komponenter kan variera, kan bildhastigheten fluktuera.

Som nämnts ovan, när GPU :n skickar ramar som inte är synkroniserade med bildskärmens uppdateringsfrekvens, kommer du att få en avslöjande skärmslitande(screen tearing) look där olika delar av bilden inte stämmer in på varandra.

När du aktiverar Vsync skickar(Vsync) din GPU bara ut en ram som ska visas när monitorn är redo att rita en ny ram, vilket också effektivt begränsar hastigheten med vilken ramar renderas. Men detta kan faktiskt orsaka ännu ett problem som beror på hur ramar "buffras". Därefter kommer vi att diskutera två vanliga typer av rambuffring.

Dubbel- kontra trippelbuffrad Vsync(Versus Triple- Buffered Vsync)

En "buffert" är en minnesregion som är betecknad som ett vänteområde för att läsas när någon annan enhet eller process är redo för det. När din GPU renderar en ram skrivs den till en buffert. Sedan läser skärmen upp ramen från den bufferten för att rita den. 

Så kallad "dubbelbuffring" är normen idag. Det finns två buffertar som turas om att fungera som buffert "fram" och "bak". Skärmen drar ramen från den främre bufferten, medan GPU :n skriver till den bakre bufferten. Sedan byter de två buffertarna roller och processen upprepas.

Utan Vsync kan de två buffertarna bytas när som helst. Så det är möjligt att skärmen kommer att dra en del av varje buffert i ramen, vilket resulterar i att den går sönder. När du slår på Vsync försvinner den rivningen. (Vsync)Men om grafikprocessorn(GPU) inte lyckas skriva färdigt till den bakre bufferten på 1/60-dels sekund, hoppas den ramen över. Detta resulterar i effektiva 30 bilder per sekund. 

Om inte din dator konsekvent kan återge 60 bilder per sekund, riskerar du att uppleva antingen låsta 30 fps eller vilt svängande bildhastigheter som knäpper mellan 30 och 60.

Trippelbuffring(Triple-buffering) lägger till en andra bakre buffert, vilket innebär att det alltid finns en bildruta redo att bytas till den främre bufferten, vilket gör det möjligt att ha udda tal som 45 eller 59 bilder per sekund på en 60 Hz-skärm. Om du får alternativet är trippelbuffring alltid ett bra alternativ.

Förbättrade Vsync-typer

Grafikkortstillverkare fortsätter att brottas med skärmsönderrivning och andra artefakter som orsakas av skärmrivning. Varje stor tillverkare har kommit med avancerade versioner av Vsync som försöker erbjuda alla fördelar utan nackdelarna.

Nvidia har AdaptiveSync och FastSync , var och en med sin egen intelligenta inställning till Vsync . Den förstnämnda slår bara på Vsync om ett spels bildfrekvens är lika med eller högre än uppdateringsfrekvensen. Skulle det falla under det, är Vsync inaktiverat, vilket eliminerar buffertlatens. Den senare lösningen är bättre eftersom den möjliggör trippelbuffring och ger den högsta bildhastigheten utan att rivas.

AMD har Enhanced Sync , vilket är som AdaptiveSync .

Vsync kontra variabel uppdateringsfrekvens

Det finns ett kraftfullt alternativ till Vsync som kallas variabel uppdateringsfrekvens. Nvidias teknologi är känd som G-Sync och AMD har utvecklat FreeSync , men har gjort den gratis och öppen för alla att använda.

Båda teknikerna låter monitorn och GPU :n prata med varandra på ett sådant sätt att ramar synkroniseras med nästan felfri precision. Med andra ord, alla nackdelar med Vsync tas upp här. 

Den huvudsakliga varningen är att själva monitorn måste stödja tekniken. Det är sällsynt att hitta skärmar som stöder båda standarderna, men Nvidia har nyligen släppt och lagt till FreeSync- stöd för vissa skärmar. Du kan också försöka aktivera FreeSync på skärmar som inte är vitlistade av Nvidia , men resultaten kanske inte är bra i vissa fall.

Så låt oss sammanfatta vad du behöver veta om att använda Vsync :

  • Om ditt spel inte kan upprätthålla en bildfrekvens som är lika med eller över din bildskärms uppdateringsfrekvens, aktivera trippelbuffring eller sänk uppdateringsfrekvensen.
  • Om din GPU erbjuder en mer avancerad version av Vsync är det värt att testa.
  • G-Sync och FreeSync är önskvärda alternativ till Vsync om du har tillgång till dem.
  • Om du vill ha minsta möjliga ingångsfördröjning för konkurrenskraftigt spel, stäng av Vsync och lev med att skärmen slits, om variabel uppdatering inte är tillgänglig.

Det är grunderna i vad Vsync är. Gå nu ut och ha lite kul med en tårfri spelupplevelse.



About the author

Jag är Windows MVP och har arbetat med Windows sedan 2007. Min erfarenhet inkluderar mjukvaruutveckling, hårdvara och ljud samt Windows-appar. Jag letar alltid efter de bästa sätten att förbättra användarupplevelsen i mitt arbete, så om du behöver hjälp med att designa eller utveckla en mjukvaruapplikation kan jag definitivt erbjuda mina tjänster.



Related posts