We behandelen een van de meest gestelde vragen die we tegenwoordig over pc-gaming tegenkomen: hoeveel frames per seconde heb je nodig? Als u dezelfde framesnelheid gebruikt als de maximale vernieuwingsfrequentie van uw monitor, 60 fps Is er enig voordeel om games te spelen op een 60 Hz-monitor of met een veel hogere framesnelheid dan je monitor kan weergeven? 500 fps?

Om deze vraag te beantwoorden, GPU ve Visie Werk samen om frames naar uw ogen te sturen en zie hoe technologieën zoals Vsync werken.

Maar als gevolg hiervan zal het spelen van games met extreem hoge framesnelheden, ver boven de verversingssnelheid van je monitor, resulteren in een meer responsieve game-ervaring met een waargenomen lagere inputvertraging. Dit is het antwoord op de vraag voor degenen die niet tot het einde willen wachten. Laten we nu eens kijken waarom.

Opmerking van de uitgever: Deze functie is oorspronkelijk uitgebracht op 2 augustus 2018. Het is vandaag relevant en actueel zoals het toen was, dus we hebben het geraakt als onderdeel van ons # ThrowbackThursday-initiatief.




Laten we zeggen a kijk maar Bij een constante verversingssnelheid van 60 Hz. Met andere woorden, de monitor is elke 1/60th seconden of elke 16,7 ms. Bij het spelen van een game is er geen garantie dat de GPU elk frame in exact 16,7 milliseconden kan renderen. Soms duurt het 20 ms, soms 15 ms, soms 8 ms. Dit is de veranderende aard van gamen op de GPU.




Met deze variërende weergavesnelheid is er een optie hoe elk gerenderd frame wordt doorgegeven aan de monitor. U kunt het nieuwe frame op het scherm klikken zodra het volledig is weergegeven, ook wel bekend als het spelen van de game 'Vsync' of verticale synchronisatie uitgeschakeld, of wacht tot het scherm klaar is om te vernieuwen voordat u het nieuwe frame verzendt dat bekend staat als "Vsync on".

Vsync uit




Als u de eerste methode gebruikt, wordt Vsync uitgeschakeld en scheurt het. Dit komt omdat een scherm niet het hele beeld onmiddellijk kan bijwerken, maar de regelterugloop, meestal van de bovenkant van het scherm naar beneden. Tijdens dit proces kan een nieuw frame beschikbaar worden gemaakt vanaf de GPU en aangezien we geen gebruik maken van Vsync, wordt het frame onmiddellijk naar het scherm gestuurd. Als gevolg hiervan ontvangt de monitor halverwege het vernieuwen nieuwe gegevens en werkt de rest van de rijen op het scherm bij met die nieuwe gegevens. Dan blijft er een afbeelding over waar de bovenste helft van het scherm van het vorige frame is en de onderste helft van het nieuwe, nieuw beschikbare frame.




scheuren

Afhankelijk van de weergegeven inhoud, verschijnt dit onderscheid tussen nieuwe en oude frames bij een verversing als een scheur of zichtbare lijn tussen oude en nieuwe frames. Het valt het meest op in snel bewegende scènes waar er meestal een groot verschil is tussen het ene frame en het volgende.




Vsync heeft het voordeel dat het een frame naar het scherm stuurt zoals het wordt weergegeven, voor een lage latentie tussen de GPU en het scherm, terwijl het tearing veroorzaakt. Houd daar dan rekening mee.

Vsync is ingeschakeld

Alternatieve manier om een ​​afbeelding te bekijken Vsync is ingeschakeld. Hier, in plaats van dat de GPU het nieuwe frame onmiddellijk naar het scherm stuurt, schudt het elk frame dat is gemaakt in een buffer. De eerste buffer wordt gebruikt om het momenteel lopende frame op te slaan en de tweede buffer wordt gebruikt om het frame op te slaan dat het scherm toont. De tweede buffer wordt op geen enkel moment bijgewerkt tijdens het vernieuwen, dus het scherm toont alleen gegevens van een volledig gerenderd frame, en als gevolg hiervan wordt de verbinding met een update niet verbroken tijdens het vernieuwen.




Vsync open, nader bekeken

Het enige punt waarop de tweede buffer wordt bijgewerkt, is een van de vernieuwingen. Om dit mogelijk te maken, wacht de GPU tot het scherm wordt vernieuwd nadat het klaar is met het maken van een frame. Het vervormt vervolgens de buffers, begint een nieuw frame te maken en het proces wordt herhaald. Soms kan een frame meerdere buffers bevatten voordat het het scherm bereikt, maar dit is de algemene strekking van hoe Vsync werkt.

Als je GPU te traag is om een ​​frame te renderen ... hij hapert

Er zijn twee problemen met Vsync. Ten eerste, als de weergavesnelheid van uw GPU te laag is om de verversingssnelheid van het scherm bij te houden - laten we aannemen dat hij alleen kan renderen met 40 FPS op een 60 Hz-scherm - zal de GPU niet op tijd een volledig frame weergeven om aan de start te voldoen. het scherm wordt dan herhaald. Dit veroorzaakt stotteren omdat sommige frames slechts één keer worden weergegeven, terwijl andere twee keer worden weergegeven.

Vsync aan: 60Hz-scherm, 200 FPS

Het tweede probleem doet zich voor wanneer uw GPU erg snel is en gemakkelijk een frame binnen zijn vernieuwingsfrequentiebereik kan renderen. Stel dat u kunt renderen met 200 FPS en elke 5 ms een nieuw frame kunt maken, behalve dat u een 60 Hz-scherm gebruikt met een verversingsvenster van 16,7 ms.

Als vsync is ingeschakeld, voltooit uw GPU het volgende frame dat wordt weergegeven in 5 ms, wacht vervolgens 11,7 ms voordat het frame naar de tweede buffer wordt verzonden om op de monitor weer te geven en het volgende frame begint. Daarom komt de hoogste framesnelheid die u krijgt overeen met de vernieuwingsfrequentie van uw monitor wanneer Vsync is ingeschakeld, aangezien de GPU feitelijk "vergrendeld" is, niet sneller dan de vernieuwingsfrequentie.

Nu is er op dit punt veel verwarring.

Vaak "Het vergrendelen van de GPU om je monitor te verversen met Vsync is geweldig, want als het sneller wordt dan de verversingssnelheid, worden die frames verspild omdat de monitor ze niet kan weergeven en ik krijg alleen maar tearing". Veel mensen wijzen op energiebesparing door het gebruik van Vsync; Je GPU hoeft niet hard te werken, het heeft geen zin om te werken met framesnelheden die hoger zijn dan de vernieuwingsfrequentie van de monitor, dus voer hem uit op een vergrendelde FPS en bespaar wat stroom.

We kunnen zien waarom mensen tot deze conclusie zouden komen, en er zijn enkele stukjes waarheid die er zijn, maar dat is in het algemeen niet waar. Dit komt omdat u geen rekening houdt met wanneer de invoer is verwerkt en hoe lang het duurde voordat die invoer op het scherm verscheen.

Vsync-login inbegrepen

Laten we, om uit te leggen waarom dit zo is, naar Vsync in het diagram kijken, maar het diagram bedekken met invoer van uw muis en toetsenbord, die meestal elke 1 ms wordt verzameld. Laten we een GPU gebruiken die hetzelfde voorbeeld kan weergeven op 200 FPS met een 60 Hz-weergave.

Met vsync en een eenvoudig buffersysteem, in deze vereenvoudigde uitleg, begint de GPU met het maken van een frame dat overeenkomt met uw muisinvoer zodra deze die invoer op 0-invoer ontvangt. voordat het naar de schermbuffer ms.

Het scherm heeft dan enige tijd nodig om het frame weer te geven en het scherm regel voor regel fysiek bij te werken met die informatie.

Vsync-login inbegrepen

Zelfs in het beste geval zijn we op zoek naar een vertraging van ten minste 16,7 ms tussen uw invoer en het moment waarop het scherm u de resultaten van die invoer kan laten zien.

Display input lag, CPU-verwerkingstijd, etc. Bij factoring kan de vertraging tussen invoer en schermvernieuwing meer dan 50 ms bedragen.

Vsync uit, 60Hz-weergave inclusief invoer, 200 FPS

Laten we eens kijken naar het gesloten diagram van Vsync. De GPU geeft continu afbeeldingen weer, ongeacht wanneer het scherm wordt vernieuwd, en het duurt 5 ms om uw invoer om te zetten in een volledig frame. Het scherm kan dan onmiddellijk beginnen met het weergeven van het nieuwe frame, ook al is het maar een deel van dat frame. Het resultaat is de vertraging tussen het inloggen op het spel en wanneer het scherm de resultaten van deze invoer begint te tonen, zakt het van 16,7 ms naar slechts 5 ms. En echte toepassingen hebben geen extra buffers; zo snel, plus de inputvertraging van je monitor.

En hier krijgt u het voordeel. In dit voorbeeld vermindert het draaien op 200 FPS met Vsync uit op een 60 Hz-monitor de invoervertraging tot 5 ms, terwijl met Vsync aan deze vertraging ten minste 16,7 ms is, zo niet meer.

Hoewel het scherm niet alle 200 frames per seconde volledig kan weergeven, wat het scherm elke 1/60 laat zienth Een seconde wordt gegenereerd op basis van een invoer die veel dichter bij een seconde ligt.

Dit fenomeen geldt natuurlijk ook voor monitoren met hoge verversing. Bij 144 Hz kun je bijvoorbeeld meer frames per seconde zien, zodat je over het algemeen een vloeiendere en responsievere ervaring hebt. Als u echter op 200 FPS draait met Vsync uit in plaats van 144 FPS met Vsync aan, krijgt u een verschil tussen de inputlatentie van 5 ms en 7 ms.

Als je het nu hebt over verschillen in milliseconden, vraag je je waarschijnlijk af of je dat verschil in games kunt herkennen.

Afhankelijk van het type spel dat u speelt, maakt het verschil mogelijk geen enkel verschil uit iets dat al te opvallend is. Een snel spel als CS: GO draait op 400 FPS op een 60 Hz monitor, en input lag is het beste rond 2,5 ms, je voelt je veel sneller dan wanneer je dezelfde bewegingen uitvoert bij 60 FPS met 16,7 ms. vertraging (of meer).

Hoe dan ook, het scherm toont slechts 60 keer per seconde een nieuw frame, dus het zal niet zo vloeiend aanvoelen als op een 144 Hz of 240 Hz scherm. Maar het verschil in input lag is enorm; Met 400 FPS kunt u uw invoer ongeveer 7 keer sneller, zo niet meer, screenen. Probeer het zelf en u moet het verschil in reactievermogen voelen.

En we hebben deze verklaring niet uit het niets gehaald, eigenlijk kent Nvidia de grenzen van Vsync in termen van input lag, dus Snelle synchronisatie (Alternatief voor AMD genoemd Verbeterde synchronisatie). Deze schermsynchronisatietechniek is vergelijkbaar met de combinatie van Vsync aan en Vsync uit, die het beste van twee werelden oplevert.

Quick Sync werkt door een extra buffer toe te voegen aan Vsync in de pijplijn, de laatst gemaakte buffer genaamd. Hierdoor kan de GPU doorgaan met het maken van nieuwe frames in de achterste buffer en na voltooiing overschakelen naar de laatst gemaakte buffer. Vervolgens wordt bij een schermvernieuwing de laatst gemaakte buffer in de cache gepusht waartoe het scherm toegang heeft.

Snelle synchronisatie / verbeterde synchronisatie

Het voordeel is dat de GPU niet langer wacht nadat een frame is voltooid op een schermvernieuwing, zoals met Vsync aan. In plaats daarvan gaat de GPU door met het renderen van frames, zodat wanneer het scherm een ​​frame bereikt aan het begin van de verversingsperiode, dat frame dichter bij het verversingsvenster wordt weergegeven. Dit vermindert de invoervertraging. In tegenstelling tot de Vsync uit-status, biedt Fast Sync een voltooid frame aan het scherm aan het begin van elke verversing in plaats van het frame onmiddellijk naar het scherm te duwen, en het is deze techniek die tearing elimineert.

Quick Sync is alleen functioneel als de framesnelheid hoger is dan de verversingssnelheid van het scherm, maar het slaagt erin om een ​​meer responsieve game-ervaring te bieden zonder deze te scheuren. En natuurlijk heeft AMD een equivalent genaamd Enhanced Sync.

Hopelijk zal deze uitleg enkele van je vragen ophelderen waarom het spelen van een game boven de maximale vernieuwingsfrequentie van je monitor een responsievere game-ervaring oplevert en waarom de mogelijkheid om games met hogere framesnelheden uit te voeren altijd voordelig is, zelfs als het lijkt. uw monitor kan er geen gebruik van maken.

Een laatste opmerking: we hebben het nog niet gehad over adaptieve synchronisatietechnologieën zoals G-Sync en FreeSync hier en meestal hebben we het over het publiceren van games boven de maximale vernieuwing waar adaptieve synchronisatie niet wordt toegepast. Er zijn veel verschillende synchronisatiemethoden, maar adaptieve synchronisatie is heel anders dan de Vsync en Quick Sync die we noemden en het maakt in ieder geval niet echt uit voor deze discussie.

Lees verder
Shopping-snelkoppelingen

Masthead-tegoed: foto: Jakob Owens