Jeg har nylig bygd en ny datamaskin. Det er ikke utrolig utrolig men det er ganske solid, og jeg kan spille hvilket som helst spill i Steam-biblioteket mitt på det. Jeg har rotet med grafikkinnstillingene i Borderlands 2. Akkurat nå har jeg alt på høyden, med FPS satt til ubegrenset. FPS-telleren varierer veldig fra 60-200. Selv om den under normal spilling holder seg ganske nær 70-90. Jeg har ikke opplevd noen rive i skjermen. Jeg har lagt merke til at det er innstillinger for å begrense rammene per sekund. Innstillingene er:
smoothed 22-62 capped 30/50/60/72/120 unlimited
Er det noen grunn til IKKE å gå med ubegrenset?
Kommentarer
- Ubegrenset FPS kan forårsake riving av skjermen. Noen mennesker (inkludert meg selv) synes dette er veldig irriterende. Funksjoner som V-sync kan redusere dette, men på bekostning av mindre forsinkelse.
- Å begrense framerate kan redusere belastningen på skjermkortet. Dette er spesielt nyttig på en termisk begrenset plattform, for eksempel en bærbar datamaskin.
Svar
Capping ditt framerate kan ha noen fordeler:
- Redusert energiforbruk
- Redusert varmeproduksjon
- Redusert støy (kjølevifter går saktere)
Capping av framerate er spesielt gunstig for bærbare datamaskiner eller andre slags mobile datamaskiner, da det gir en utmerket måte å holde en bærbar datamaskin fra å spise batteriet i live, og også fra å brenne hull i skrittet.
Husk at takking av framerate ikke er det samme som bruk av v-sync .
Bruk av en framerate cap gir ikke reduksjon i skjermen Framerate-kaster bare gass mot et antall rammer skjermkortet ditt kan produsere. De tvinger ikke skjermkortet til å vente til skjermen har startet en ny oppdateringssyklus.
Hvis rammeverket du produserer er rundt 55-75 bilder per sekund, så vil du kanskje sette den på 50 eller 60 som t han spikes der det er 75, vil føles som om spillet ditt bremser når det går ned til 55, dette er bare et eksempel, og de faktiske bildene per sekund kan variere.
Bruk av v-sync formidler alle fordeler som er oppført om rammehetter ovenfor, med den ekstra fordelen ved å eliminere riving av skjermen; den har imidlertid ulempen med å legge til litt ventetid.
Svar
Sammendrag
Å generere flere bilder enn skjermen kan vise er bortkastet energi; rammeavrivning kan bare elimineres ved videosynkronisering, men det kan minimeres ved å kappe FPS på skjermfrekvensen. Inngangsforsinkelse er imidlertid en relatert betraktning.
Detalj
Tegning på min erfaring med å skrive GUI-systemer, virker det for meg at følgende må være sant.
Gitt to kvantiserte systemer, (a) bildegenerering, og (b) gjengivelse av bilder, må enhver forskjell mellom hastighetene noen ganger føre til rive hvis de ikke er gjensidig utelukket fra å forekomme samtidig (ved å synkronisere GPU og monitor), og eventuell FPS som overstiger de fysiske grensene til monitoren er bortkastet. Ideelt sett vil en nøyaktig samsvar i hastighet, kompensert med halvparten av intervallet, minimere eller eliminere riving og kaste bort ingen beregning.
Dette blir enkelt visualisert, som følger, forutsatt 62,5 Hz skjerm og hele millisekunder for enkelhet:
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 det kan sees, er skjermen 62,5 Hz, så er den optimale bildefrekvensen 62,5 FPS; ved 90 FPS (som faktisk er en ramme hver 11,11 «ms) har vi en uoverensstemmelse som vil føre til at en mistet ramme omtrent hvert tredje intervall. Ved 125 FPS har vi en ramme mistet hvert intervall. Hvis du aldri så det, var rammen nødvendig ?
Dermed, gitt en rammehastighetsbegrensning på den fysiske enheten, kan ingen hastighet som er større enn skjermkapasiteten oppfattes siden flere rammer rett og slett aldri blir sett. Fra det virker det logisk at å kappe FPS på skjermen oppdateringsfrekvens resulterer i maksimal oppfattelig bevegelseskvalitet. Derfor virker det logisk at generering av rammer utover skjermens oppdateringsfrekvens ganske enkelt vil kaste bort strøm.
Gitt at du ikke kan forhindre at det rives uansett hva du gjør uten synkronisering av skjermen, er det fortsatt mye bedre å takle bildefrekvensen og sette den datakraften i å generere flere detaljer per ramme, og når det maksimale er nådd, er det bare å spare energi og redusere spillvarmen. p>
Mine to øre.
Visual Acu ity
Å spille inn i dette også, selv om du har en 144 Hz-skjerm, er det du faktisk kan oppfatte. De fleste data indikerer at FPS bare betyr noe opp til ca 60 til 120 Hz, med konklusjoner om at 90 Hz (FPS) for de fleste er avskåret for visuell merkbar forbedring. Men hvert individ er unikt, og vanlige spillere er blant de mest følsomme for bevegelsesgjenstander fordi det visuelle systemet ditt kan trenes.
En fin artikkel om emnet er http://www.pcgamer.com/how-many-frames-per-second-can-the-human-eye-really-see/
Inngangsforsinkelse
(Takk til Atli for denne kommentaren.)
Med alt det som er sagt, er det verdt å påpeke her at å kutte FPS til skjermoppdateringen kan skape merkbar inngangsforsinkelse når du spiller. IE: med 16ms rammeoppdatering, hvis rammen gjengis i løpet av 1 ms umiddelbart etter oppdateringen, den må sitte der i 15 ms og vente, og effektivt skape 15 ms forsinkelse mellom bevegelse og visning av den bevegelsen.
Spill er også tilbøyelige til å begrense deres AI / logiske sykluser til å gjengi sykluser, og skape lag også der. Gjengivelse med 3x skjermoppdatering vil gjøre dette mye mindre merkbart, da rammen som vises vil gjengi nærmere visningstiden.
For en slik brukstilfelle, tak på et passende multiplum av skjermoppdateringen rate kan fremdeles lønne seg med en moderne GPU samtidig som ventetid holdes under en ønsket terskel.
Kommentarer
- Det kan være verdt å legge til en tl; dr eller et sammendrag da dette er et ganske teknisk svar, men +1 for detaljert svar
- Det ‘ er det verdt å påpeke her at å kappe FPS til skjermoppdateringen kan (og gjør vanligvis) skaper merkbar inngangsforsinkelse. IE: Hvis rammen blir gjengitt på 1 ms umiddelbart etter oppdateringen med 16ms rammeoppdatering, må den ‘ sitte der i 15 ms og vente, og effektivt skape 15ms forsinkelse mellom bevegelse og visning av den bevegelsen. Spill er også tilbøyelige til å begrense deres AI / logiske sykluser til å gjengi sykluser, og skape lag også der. Gjengivelse med 3x skjermoppdatering vil gjøre dette mye mindre merkbart, ettersom rammen som vises vil komme nærmere visningstiden.
Svar
Det er flere grunner til å gjøre dette:
- Varmedemping
På mindre kraftige skjermkort kan det ofte være en god ting å begrense rammeverket av spill slik at de ikke overopphetes. Det kan også brukes til å begrense strømforbruket hvis det er nødvendig.
- Skjermrivning
Hvis du opplever moderat skjermrivning (der bildet som vises på skjermen blir «brutt» på grunn av kamerabevegelse. Det er nyttig å begrense bildeforholdet. V-Sync prøver dette ved å holde FPS i skjermens oppdateringsfrekvens. Dessverre forårsaker V-Sync inngangsforsinkelse, så dette alternativet er ikke alltid å foretrekke. Teknologier som G-Sync fra Nvidia prøver å fikse dette.
- Oscillasjon
Folk opplever ofte at hvis de opplever et bredt spekter av FPS-er (fra for eksempel 70-200) som svinger bakover og fremover raskt at dette kan forårsake en «dra» -effekt der variabel framerate får det til å virke som spillets hastighet endres. Dette kan være veldig distraherende og / eller påvirke målet, slik at folk vil dekke rammen.
- Flerspillerstabilitet
Du vil finne at i flerspillerspill, hvis du har en jevn framerate og jevn nettverksforbindelse som betyr at prosjektiler synkroniseres bedre og treffdeteksjon vil forbedres.
En vanlig formel jeg ser er fps cap = (refresh rate x 2) + 1
som av noen tekniske årsaker mer effektivt vil forhindre riv i skjermen.
Kommentarer
- »
fps cap = (refresh rate x 2) + 1
som av noen tekniske årsaker mer effektivt vil forhindre riv i skjermen » – t lydene hans kom helt opp. - Hva? Bevisbyrden ligger ikke på meg – hva er disse ‘ tekniske grunner ‘?
- @ BlueRaja-DannyPflughoeft Den formelen er en jeg ‘ har sett gang på gang mens jeg undersøkte dette da jeg bygde datamaskinen min. Jeg vet ikke ‘ hvorfor det (tilsynelatende) fungerer siden jeg aldri har slått det opp og ikke er i ferd med å kopiere og lime inn et essay om det i svaret mitt. Men siden hver kilde jeg ‘ har sett nevner det på et eller annet tidspunkt, antar jeg at det er sant
- Ah, den gode gamle » Jeg så det mye på internett så det må være sant » forsvar. Ellers kjent som hvordan feilinformasjon blir » faktum «. Ikke det at jeg ‘ gjør krav på den ene eller andre måten, bare observerer nok en sannhet uten støtte tilbudt.
- @LawrenceDol For å være rettferdig, gjorde han det håndbølget årsaken som en teknisk grunn til at han ikke ‘ ikke forsto. Som bruker1754322 sa i et svar (det burde vært en kommentar her), er det ‘ på grunn av Nyquist Rate . For å kunne modellere noe kontinuerlig på diskret tid, må du prøve med dobbel frekvens du vil løse for å unngå aliasing.Jeg ‘ er ærlig talt ikke sikker på hvordan det gjelder skjermrammer. Jeg vet ikke ‘ om det faktisk vil bli betraktet som et kontinuerlig signal.