Enceladus Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 (endret) Hva er v-sync? Og bør jeg ha den av eller på? Endret 15. juni 2007 av Mr. Gnom Lenke til kommentar
Fritz0r Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 (endret) skjermkortet vil rendre bildet først horisontalt, så vertikalt når horisontalt rendring er ferdig, og for og sikkre stabile framrates, så låses frames til enten 60 eller 70 FPS. http://en.wikipedia.org/wiki/V_sync Endret 15. juni 2007 av Fritz0r Lenke til kommentar
Dipso Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 Dette er mest aktuelt på CRT skjermer for å unngå "tearing" dvs at skjermbildet brytes horisontalt,(en frame utgjør halve bildet, den neste framen resten....) spesielt synlig ved horisontale bevegelser i skjermbildet. Lenke til kommentar
Zappy Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 Som regel noe du bør styre unna MAO. Lenke til kommentar
Landeplagen Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 Som regel noe du bør styre unna MAO. 8871027[/snapback] Noe du bør ha på, mener du vel? "V-sync" on. Lenke til kommentar
Nerf Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 Som regel noe du bør styre unna MAO. 8871027[/snapback] Noe du bør ha på, mener du vel? "V-sync" on. 8871044[/snapback] Enig med Martin her. V-sync er vel noe de fleste fps-spillere styrer unna, for å oppnå høyest mulig framerate. Den er vel på som default i de fleste spill. Lenke til kommentar
Enceladus Skrevet 15. juni 2007 Forfatter Del Skrevet 15. juni 2007 Min Maskin: 8800GTS 640MB Intel Core 2 Duo E6600 GeIL DDR2 PC6400 Ultra 2 GB EVGA nForce 680i SLI LaCie Photon Vision II 20" LCD skjerm Så om jeg har den av vil jeg oppnå en høyere framerate i spill? Hva med stalker? Av eller på? Hva tjener jeg på? Lenke til kommentar
Nerf Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 Min Maskin:8800GTS 640MB Intel Core 2 Duo E6600 GeIL DDR2 PC6400 Ultra 2 GB EVGA nForce 680i SLI LaCie Photon Vision II 20" LCD skjerm Så om jeg har den av vil jeg oppnå en høyere framerate i spill? Hva med stalker? Av eller på? Hva tjener jeg på? 8871367[/snapback] Man kan si det såpass enkelt: Opplever du noen gang at bildet "kuttes" noen ganger, lar du det være på. HVis ikke, og hvis du på død og liv må ha maks fps, slå den av. Men det er kanskje best å se selv. Lenke til kommentar
Zappy Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 hvis du på død og liv må ha maks fps, slå den av. 8871374[/snapback] Jepp, der har du logikken min. Lenke til kommentar
Enceladus Skrevet 15. juni 2007 Forfatter Del Skrevet 15. juni 2007 Man kan si det såpass enkelt: Opplever du noen gang at bildet "kuttes" noen ganger, lar du det være på. HVis ikke, og hvis du på død og liv må ha maks fps, slå den av. Men det er kanskje best å se selv. Da blir det av antar jeg. Lenke til kommentar
fiskfisk Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 Den tekniske forklaringen er ganske grei, men vi går litt tilbake i tid for å forklare hvor det hele kommer fra. I en maskin har man typisk noe som heter et videominne. I dette minnet ligger alle pikslene (punktene) som vises på skjermen lagret, deriblant hvilken farge de har og så videre. Dersom et program ønsker å vise noe på skjermen, endrer det en av pikslene i dette minnet, og vips, så er endringen representert på skjermen. Det andre elementet er måten en CRT-skjerm (en vanlig bilderørskjerm) fungerer på. Bak i skjermen er det en elektronkanon som skyter elektroner på en fosforiserende flate. I det disse elektronene treffer denne flaten, lyser små punkter opp, og vi får vist et bilde på skjermen. Dette gjøres ved at elektronkanonen starter oppe i det venstre hjørnet og så beveger seg mot høyre. Underveis tilpasser den elektronstrålen i forhold til bildet som skal vises akkurat der. Etter at den kommer til høyre side av bildet (etter så mange piksler som man viser i bredden), så går den ned til linjen under, og så gjør den det samme der. Dette gjøres x antall ganger i sekundet, der x er det som menes med Hz til skjermen. Dersom en skjerm er 70hz, så går skjermen gjennom hele denne sekvensen 70 ganger i sekundet. En skjerm med 640x480 oppløsning vil tegne 640 punkter i bredden, gå ned til neste linje, tegne 640 punkter til, og så vi dere, til alle de 480 linjene er vist. Hva den tegner, leser den fra videominnet som nevnt over. Det er her problemene dukker opp: Hva skjer om vi endrer videominnet mitt i bildet? Dette er et triks man kan bruke på en del plattformer (Amiga, f.eks.). Hvis vi skriver til videominnet veldig ofte under visningen, vil vi oppleve hakking, flimring og andre ulumskheter. Dette fører oss til en av de første teknikkene som ble utviklet for å ha mer kontroll over visningen: Double Buffering. I stedet for at man skriver rett til videominnet, skriver man til et sted i det vanlige minnet med samme størrelse som videominnet. Etter at man har skrevet alt man skal, kopierer man hele bolken over det eksisterende videominnet, og på den måten får man byttet "hele bildet" på en gang. Vi vil imidlertid fortsatt kunne oppleve flimring, dersom dette skjer oftere enn så mange bilder som skjermen klarer å vise i sekundet. Og nå nærmer vi oss vsync-biten.. Som sagt, så er det en elektronkanon som durer og går bak i CRT-skjermen, og som beveger seg fra toppen av skjermen og nedover. I det elektronstrålen har kommet hele veien ned, dukker det opp et problem. Det eneste stedet den skal tegne, er på toppen av skjermen igjen, og er fysisk langt fra den posisjonen som kanonen peker mot nå. Det tar derfor nå en viss tid for kanonen å fysisk bevege seg opp til den andre kanten, og vi får en såkalt vertical blank (vblank). Dette tar et visst antall millisekunder, alt etter hz og skjermkort. På tiden tiden som kanonen beveger seg opp til toppen igjen blir ikke bildet som er på skjermen fysisk oppdatert, og det fører oss til ninjatrikset. Et program kan imidlertid oppdage når vblank inntreffer, og man har derfor "wait for vblank", eller som det nå kalles, vertical sync. I det vblank blir trigget, kopierer man kopien man har av videominnet fra det vanlige minnet og over til skjermkortet. Når elektronkanonen så endelig er tilbake på toppen og fortsetter med sin noe kjedelige tegneoppgave, er det et nytt bilde som ligger og venter. Videominnet blir med andre ord kun oppdatert når det ikke blir tegnet noe fysisk på skjermen. Dermed unngår man såkalt tearing og flimring, ettersom minnet bare røres når det ikke blir brukt til å vise noe på skjermen. GPU-er og dedikerte 3D-kort har forandret mye av dette her, slik at man ikke lenger prater direkte med et skjermminne, men med et eget grensesnitt mot skjermkortet (OpenGL eller Direct3D, f.eks), men konseptet er fortsatt det samme. Du vil fint finne "double buffering" og "triple buffering" (som er en videreutvikling av konseptet igjen) i en del oppsettsmenyer for spill den dag i dag, og dette er en del av bakgrunnen for det. Lenke til kommentar
Hawko Skrevet 15. juni 2007 Del Skrevet 15. juni 2007 (endret) fiskfisk er min nye helt. Utrolig bra forklaring! Men et spørsmål, siden dette gjelder CRT, vil så VSync være ubrukelig på LCD-skjermer? Endret 15. juni 2007 av Hawko Lenke til kommentar
MistaPi Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 E LCD må også oppdatere bildet og hvis det skjer i en framebuffer bytte kan det oppstå tearing. Tearing er gjerne mer tydlig på LCD. Som nevnt kan vsync gå hardt utover frameraten. La oss si at du kjører 60hz på skjermen og skjermkortet bommer på en skjerm refresh må den vente til neste vsync for framebuffer bytte og frameraten vil falle til 30FPS (med det ene bufferet som vises og det andre som fullt har ikke kortet et ledig buffer å skrive til og må stå uvirksom). Hvis den bommer på 2 vsync er du nede i 15FPS. Tripple buffering (som kan gis som en opsjon i grafikk instillingene til spillet eller tvinges i OpenGL via driverene) løser dette problemet med å gi et ekstra buffer å skrive til, men dette innfører en forskinkelse. Dette er også mye en individuell preferanse der noen ikke er så bryd med tearing og går heller for raskere oppdatering, mens andre finner tearing veldig irriterende og tar heller en kompromiss med framerate og/eller grafikk detaljer/oppløsning. For MP spill som Battlefield bør dog vsync være av for å gi deg en bedre "fighing chance". Lenke til kommentar
dabooo Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 med den pc'n han sa han hadde over, er det liten forskjell om du har det på eller av så lenge du kjører max hz på skjermen merker du svært liten forskjell. Lenke til kommentar
MistaPi Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 Jeg har et lignende oppsett, men med 8800GTX og tearing er veldig merkant for meg i en del spill uten vsync. Tearing kan som nevnt oppstå med et framebuffer bytte under et skjerm oppdatering. Altså om frameraten er raskere eller tregere enn skjerm oppdateringen. Lenke til kommentar
Fritz0r Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 (endret) MistaPi: har du sjekket at ikke du har satt på trippel frame buffer? vet tearing kan oppstå da. Endret 16. juni 2007 av Fritz0r Lenke til kommentar
aspic Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 Men om eg forstår riktig; Til høgare Hz på skjermen dess mindre treng ein V-sync? =o Lenke til kommentar
MistaPi Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 MistaPi: har du sjekket at ikke du har satt på trippel frame buffer? vet tearing kan oppstå da. 8873406[/snapback] Jeg bruker ikke tripple buffering (der mulig) såvidt jeg ikke bruker vsync Lenke til kommentar
MistaPi Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 Men om eg forstår riktig; Til høgare Hz på skjermen dess mindre treng ein V-sync? =o 8873441[/snapback] Jeg vil nå tro en raskere skjermoppdatering gjør tearing mindre tydlig, men som sagt kan det oppstå tearing også når frameraten er under refresh raten. Lenke til kommentar
Kakebakelate Skrevet 16. juni 2007 Del Skrevet 16. juni 2007 god forklaring på hva v-sync var, takk. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå