Jag byggde nyligen en ny dator. Det är inte otroligt fantastiskt men det är ganska fast, och jag kan spela vilket spel som helst i mitt Steam-bibliotek på det. Jag har trasslat med grafikinställningar i Borderlands 2. Just nu har jag allt på högt, med FPS inställt på obegränsat. FPS-räknaren varierar enormt från 60-200. Även om det under normal spelning förblir ganska nära 70-90. Jag har inte upplevt någon skärmrivning. Jag har märkt att det finns inställningar för att begränsa bildrutorna per sekund. Inställningarna är:

smoothed 22-62 capped 30/50/60/72/120 unlimited 

Finns det någon anledning att INTE gå med obegränsat?

Kommentarer

  • Obegränsad FPS kan orsaka skärmrivning. Vissa människor (inklusive mig själv) tycker att detta är riktigt irriterande. Funktioner som V-sync kan mildra detta, men på bekostnad av mindre fördröjning.
  • Att begränsa bildfrekvensen kan minska belastningen på grafikkortet. Detta är särskilt användbart på en termiskt begränsad plattform som en bärbar dator.

Svar

Att täcka ditt framerate kan ha några fördelar:

  • Minskad energiförbrukning
  • Minskad värmeproduktion
  • Minskat ljud (kylfläktar går långsammare)

Att täcka din framerate är särskilt fördelaktigt för bärbara datorer eller andra mobila datorer, eftersom det ger ett utmärkt sätt att hålla en bärbar dator från att äta batteriet vid liv och även att bränna ett hål i grenen.

Tänk på att att täcka din framerate inte är samma som med v-sync .

Att använda ett framerate-lock kommer inte att minska skärmen Framerate-kepsar stryker helt enkelt ett antal bildrutor som ditt grafikkort kan producera. De tvingar inte grafikkortet att vänta tills bildskärmen har börjat en ny uppdateringscykel.

Om den bildruta du producerar finns runt 55-75 fps då kanske du vill täcka den 50 eller 60 som t han spikar där det är 75 kommer att känna att ditt spel saktar ner när det går ner till 55, detta är bara ett exempel och dina faktiska bilder per sekund kan variera.

Användning av v-sync förmedlar alla fördelar som listas om framerate-kepsar ovan, med den extra fördelen att eliminera rivning av skärmen; det har dock nackdelen att lägga till lite latens.

Svar

Sammanfattning

Att generera fler bilder än din bildskärm kan visa är slöseri med energi; bildrivning kan bara elimineras genom videosynkronisering, men det kan minimeras genom att begränsa FPS vid bildskärmsfrekvensen. Ingångsfördröjning är dock en relaterad övervägande.

Detalj

Ritning på min erfarenhet av att skriva GUI-system verkar det för mig att följande måste vara sant.

Med tanke på två kvantiserade system, (a) bildgenerering och (b) bildåtergivning, måste varje skillnad mellan hastigheterna ibland leda till rivning om de inte ömsesidigt utesluts från att inträffa samtidigt (genom att synkronisera GPU och monitor), och eventuell FPS som överstiger monitorns fysiska gränser är bortkastad. I idealfallet skulle en exakt matchning i hastighet, kompenserad med halva intervallet, minimera eller eliminera rivning och slösa bort någon beräkning.

Detta visualiseras enkelt, enligt följande, förutsatt 62,5 Hz-monitor och hela millisekunder för enkelhetens skull:

Time (16"ms) : 0---------------1---------------2---------------3 Monitor Frames: x---------------x---------------x---------------x GPU @ 62.5 FPS: x---------------x---------------x---------------x GPU @ 62.5 FPS: --------x---------------x---------------x-------- GPU @ 125 FPS : x-------x-------x-------x-------x-------x-------x GPU @ 125 FPS : ----x-------x-------x-------x-------x-------x---- GPU @ 90 FPS : x----------x----------x----------x-----------x--- GPU @ 90 FPS : ------x----------x----------x-----------x-------- Monitor Frames: x---------------x---------------x---------------x Time (16"ms) : 0---------------1---------------2---------------3 

Som framgår är om bildskärmen är 62,5 Hz, så är den optimala bildhastigheten 62,5 FPS; vid 90 FPS (som faktiskt är en bildruta var 11.11 ”ms) har vi en ojämnhet som kommer att orsaka en förlorad bild ungefär vart tredje intervall. Vid 125 FPS har vi en ram förlorat varje intervall. Om du aldrig såg det, behövdes ramen ?

Således, med tanke på en ramhastighetsbegränsning på den fysiska enheten, kan ingen hastighet som är större än bildskärmsförmågan uppfattas eftersom ytterligare ramar helt enkelt aldrig ses. Från det verkar det logiskt att det att täcka FPS vid monitorn uppdateringsfrekvens resulterar i maximal uppfattbar rörelsekvalitet. Därför verkar det logiskt att generering av ramar utöver bildskärmens uppdateringsfrekvens helt enkelt slösar bort el.

Med tanke på att du inte kan förhindra sönderrivning oavsett vad du gör utan monitorsynkronisering är det fortfarande mycket bättre att täcka bildhastigheten och lägga den datorkraften i att generera mer detaljer per bildruta, och när det maximala uppnås är det bara att spara energi och minska spillvärme.

Mina två cent.

Visual Acu ity

Att spela in i detta också, även om du har en 144 Hz-skärm är det du faktiskt kan uppfatta. De flesta data indikerar att FPS endast betyder upp till cirka 60 till 120 Hz, med slutsatser att 90 Hz (FPS) för de flesta är avstängd för visuellt märkbar förbättring. Men varje individ är unik, och vanliga spelare är bland de mest känsliga för rörelseartefakter eftersom ditt visuella system kan utbildas.

En trevlig artikel om ämnet är http://www.pcgamer.com/how-many-frames-per-second-can-the-human-eye-really-see/

Ingångslatens

(Tack till Atli för den här kommentaren.)

Med allt som sägs är det värt att påpeka här att att täcka FPS till skärmuppdateringen kan skapa märkbar ingångsfördröjning vid spel. IE: med 16ms ramuppdatering om ramen återges på 1 ms omedelbart efter uppdateringen, den måste sitta där i 15 ms och vänta, vilket effektivt skapar en 15ms fördröjning mellan rörelse och visning av den rörelsen.

Spel är också benägna att begränsa sina AI / logiska cykler till att återge cykler, vilket skapar fördröjning också där. Återgivning med 3x skärmuppdatering gör detta mycket mindre märkbart, eftersom ramen som visas kommer närmare visningstiden.

För ett sådant användningsfall kan du täcka på någon lämplig multipel av skärmuppdateringen hastighet kan fortfarande vara värdefullt med en modern GPU samtidigt som latensen hålls under önskad tröskel.

Kommentarer

  • Det kan vara värt att lägga till en tl; dr eller en sammanfattning eftersom det här är ett ganska tekniskt svar, men +1 för det detaljerade svaret
  • Det ’ är värt att påpeka här att kapning av FPS till skärmuppdateringen kan (och vanligtvis) skapar märkbar ingångslatens. IE: med din 16ms ramuppdatering, om ramen återges på 1ms omedelbart efter uppdateringen, måste den ’ sitta där i 15ms och vänta, vilket effektivt skapar en 15ms försening mellan rörelse visning av den rörelsen. Spel är också benägna att begränsa sina AI / logiska cykler till att göra cykler, vilket skapar fördröjning också där. Att göra 3 gånger skärmuppdateringen kommer att göra detta mycket mindre märkbart, eftersom ramen som visas kommer närmare visningstiden.

Svar

Det finns flera anledningar att göra detta:

  • Värmereduktion

    På mindre kraftfulla grafikkort kan det ofta vara bra att begränsa framerate av spel så att de inte överhettas. Det kan också användas för att begränsa strömförbrukningen om det behövs.

  • Skärmavrivning

    Om du upplever måttlig skärmrivning (där bilden som visas på skärmen blir ”bruten” på grund av kamerarörelser) att begränsa bildfrekvensen är användbar. V-Sync försöker detta genom att hålla FPS vid din skärms uppdateringsfrekvens. Tyvärr orsakar V-Sync ingångsfördröjning, så det här alternativet är inte alltid att föredra. Teknik som G-Sync från Nvidia försöker åtgärda detta.

  • Oscillation

    Människor tycker ofta att om de upplever ett brett spektrum av FPS (från exempelvis 70-200) som svänger bakåt och framåt snabbt att detta kan orsaka en ”dra” -effekt där den variabla framraten gör att det verkar som att spelets hastighet förändras. Detta kan vara mycket distraherande och / eller påverka målet, så att folk kommer att täcka framraten.

  • Flerspelarstabilitet

    Du kommer att upptäcka att det i multiplayer-spel att om du har en stadig framrate och stadig nätverksanslutning innebär det att projektiler synkroniseras bättre och träffdetektering kommer att förbättras. ul>

    En vanlig formel som jag ser är fps cap = (refresh rate x 2) + 1 vilket av tekniska skäl effektivare kommer att förhindra rivning av skärmen.

    Kommentarer

  • fps cap = (refresh rate x 2) + 1 vilket av tekniska skäl effektivare förhindrar skärmavrivning ” – t hans ljud är helt sminkade.
  • va? Bevisbördan ligger inte på mig – vilka är dessa ’ tekniska skäl ’?
  • @ BlueRaja-DannyPflughoeft Den formeln är en jag ’ har sett gång på gång när jag undersökte detta när jag byggde min dator. Jag vet inte ’ varför det fungerar (tydligen) eftersom jag aldrig letade upp det och inte är på väg att kopiera och klistra in en uppsats om det i mitt svar. Eftersom alla källor som jag ’ har sett nämner det någon gång, antar jag dock att det är sant
  • Ah, den gamla goda ” Jag såg det mycket på internet så det måste vara sant ” försvar. Annars känd som hur felinformation blir ” faktum ”. Inte för att jag ’ gör ett påstående på ett eller annat sätt, bara observerade ännu en truism utan stöd erbjuds.
  • @LawrenceDol För att vara rättvis gjorde han handwave orsaken som någon teknisk anledning att han inte ’ inte förstod. Som user1754322 sa i ett svar (det borde ha varit en kommentar här) är det ’ på grund av Nyquist Rate . För att kunna modellera något kontinuerligt på diskret tid måste du prova med dubbla frekvensen du vill lösa för att undvika aliasing.Jag ’ är verkligen inte säker på hur det gäller skärmramar. Jag vet inte ’ om det verkligen skulle betraktas som en kontinuerlig signal.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *