Permalänk
Medlem

Hur fungerar V-sync vid t.ex. 120Hz?

Det verkar finnas en hel del olika synpunkter angående detta.

En del påstår att om ett spel inte kan hålla 120fps och du spelar på en 120Hz skärm droppar frameraten ner till 60Hz även om det faktiska fps-talet är t.ex. 115fps eller 90fps etc.

Andra menar att v-sync inte behöver halvera uppdateringshastigheten utan kan gå ner stegvis och ändå motverka tearing. T.ex. en skärm i 120Hz men grafikkortet orkar bara producera 100fps resulterar i just i 100fps.

Hur ligger det till egentligen? Förstår att G-sync eller FreeSync är att föredra då man slipper v-sync helt, men vore kul att veta hur det faktiskt fungerar eftersom det verkar finnas många delade meningar om det.

Permalänk
Medlem

@MrOrsh: Beror på om man använder triple buffering eller inte.
Med vanlig double buffering så är alltid en buffert upptagen med en färdig bild som måste sparas tills bilden i den andra bufferten är färdig. Detta gör att det bara finns en buffert att skriva till. När den nya bilden är färdig måste grafikkortet vänta på att skärmen uppdaterar sin bild och gör den gamla bufferten tillgänglig att skriva till igen.
Spel kräver ofta ungefär lika lång renderingstid för varje bild och därför kommer bildfrekvensen under större tid att bli ett delbart heltal av bildskärmens maximala uppdateringsfrekvens om datorn inte klarar av att rendera en ny bild till varje uppdatering.

Vid triple buffering finns en extra buffert att skriva till medans grafikkortet väntar på att skärmen ska bli klar med den senaste bilden. På så vis kommer grafikkortet vara klar med nästa bild till nästa skärmuppdatering ibland och ibland inte. Detta gör att man får fler bilder per sekund och märker inte av delningen av uppdateringen.