Til hovedinnhold
GuideNvidia G-Sync

Slik fungerer Nvidias nye spillteknologi

Med G-Sync vil Nvidia bedre opplevelsen din betraktelig.

Nvidia

Hardware.no/London: Nvidias nyeste spillteknologi går under navnet G-Sync, og har skapt stor ståhei rundt omkring i verden. Med potensialet til å vesentlig endre spillopplevelsen din til det bedre har mange fattet interesse, og selv dro vi til London for å oppleve teknologien med egne øyne.

– Det handler ikke om å kunne levere flest mulig bilder per sekund med et skjermkort, men å levere hvert bilde til rett tid, sier Tom Petersen, oppfinner av G-Sync og teknisk markedsføringssjef i Nvidia.

Tom Petersen, teknisk markedsføringssjef hos Nvidia, er mannen som fant opp G-Sync.

Med G-Sync har Nvidia snudd opp ned på samspillet mellom skjermkort og skjerm. I dag forsøker skjermkortet ditt å spy ut så mange bilder per sekund som overhodet mulig, i et tilfeldig tempo, for så å kaste dem på en skjerm som jobber med en fast hastighet. Med G-Sync får Nvidia de to til å jobbe med samme frekvens, noe som sammen med en god dose manipulasjon av hvordan du oppfatter spillgrafikk, totalt sett skal gi deg en vesentlig bedre spillopplevelse.

– Dette eliminerer grafikkfeil som «tearing» og «stuttering». Bildet vil bli jevnt, uansett hvilken FPS skjermkortet spytter ut, forteller Petersen.

At en skjermkortprodusent i seg selv kan ha endret den grunnleggende oppfatning av spillgrafikk er en stor påstand vi hadde vanskelig for å umiddelbart svelge. Men etter å ha fått sett teknologien selv, og etter å ha snakket med personen som laget løsningen, er det klart at Nvidia definitivt er inne på noe.

Vi snakket mye med Petersen, og i en egen sak har vi allerede tatt for oss hovedprinsippene ved løsningen. Men det er langt mer og spennende informasjon å gripe fatt i, og i denne saken skal vi forklare deg hvordan G-Sync fungerer, og hvorfor teknologien kan bedre spillopplevelsen din.

Problemene

For å forstå hva G-Sync gjør må vi først av alt se på hvordan et helt vanlig samspill mellom skjermkortet og skjermen din i dag fungerer. Det er altså to grunnpremisser du må se for deg: Skjermen din oppdaterer seg med en fast frekvens, og da gjerne 60 eller 120 ganger i sekundet, men vi holder oss til 60 i dette eksempelet for å gjøre det enkelt. En oppdatering 60 ganger i sekundet, betyr at skjermen tegner et nytt bilde med intervaller på 16 millisekunder.

I den andre siden sitter skjermkortet, som ikke har noe forhold til tid og mater bare ut så mange bilder hvert sekund som det klarer. Er du i en lett scene av spillet vil det bety at skjermkortet kanskje spyr ut over 60 bilder i sekundet – FPS – men det millisekundet du ser eksplosjoner og skudd fly rundt deg, faller FPS-en til en lavere verdi, for eksempel 40 FPS. I realiteten ser samspillet mellom skjerm og skjermkort ut som følger:

Skjermkortet starter å tegne et bilde, og så snart det er ferdig blir bildet sendt over til skjermen – som øyeblikkelig begynner å tegne informasjonen på panelet. Problemet som da oppstår er at det skal mye til for at skjermen er på akkurat det punktet der den begynner å tegne et nytt bilde på panelet samtidig som skjermkortet er ferdig. Resultatet blir at skjermen din begynner å tegne et nytt bilde før den er ferdig med å vise det forrige.

Mot toppen av pendelen kan du se «tearing»-effekten. I den øvre delen av bildet har skjermen begynt å tegne det neste bildet - mens den nedre delen av bildet fortsatt viser forrige frame. Legg merke til at du ikke ser den samme effekten i bakgrunnen.Foto: Jørgen Elton Nilsen, Hardware.no

På det tidspunktet når skjermen går fra å vise det forrige bildet, til å starte å tegne det nye bildet midt på skjermen, får man «tearing-effekten». Den nedre delen av bildet er lengre fremme i tid enn den øvre delen av bildet, og dette bruddet kan være veldig lett å oppfatte – spesielt om det er mye bevegelse. Pendelen i bildet til høyre svinger frem og tilbake med relativt høy hastighet, og her kan man se tearing så godt som hele tiden.

Slik vi har fremstilt det nå, høres det kanskje ut som at du burde sette dette bruddet i bildet omtrent 60 ganger i sekundet de siste ti årene, men slik er det jo ikke. Selv om skjermkortet og skjermen ikke jobber synkront opplever du ikke dette så alt for ofte, men det skjer gjerne et par ganger i ny og ne. Grunnen til at du ikke opplever ser det så ofte er tredelt. Den første grunnen er at noen smarte hoder har sett dette problemet, og kokte sammen en løsning som kalles vertikal synkronisering, og dette er bakt inn i NTSC-standarden. Vi kommer bake til denne synkroniseringen om litt, men for å kunne gå videre vil vi først introdusere deg for de to andre grunnene.

Den andre grunnen, den mest tekniske, er at selv om bildene ikke er synkrone så er det egentlig ikke et enormt problem i virkeligheten – fordi mye av det som skjer i et spill er relativt statisk. Det er helt klart mye aktivitet i et spill, men når du tenker på hele prosessen på en millisekundskala blir det hele litt penere. Elementer i forgrunnen flytter seg mer enn de i bakgrunnen, noe som sørger for at du ikke ser brudd som skjer i horisonten. Det er i forgrunnen av bildet du vil se bruddet, men her kan du være så heldig at det skjer så mye på én gang at det rett og slett blir vanskelig å se.

At det er vanskelig å se leder oss over til den tredje grunnen, som går på psykologi og mekanismene i ditt eget hode. Så lenge bruddet ikke er for tydelig, vil hjernen din rett og slett viske det ut ved å tolke hvordan bildet egentlig burde være. Om du har tatt på deg et par skibriller om vinteren kjenner du deg sikkert igjen i at alt rundt deg får en rød-, gul-, eller blåtone ekstra med en gang, mens du etterhvert begynner å oppleve skianlegget i de korrekte fargene, selv om disse fargene egentlig ikke er hva øyene dine ser. Hjernen tolker og tilpasser seg, og det er en lignende mekanisme som sørger for at du ikke opplever alle bruddene i grafikken. I tillegg er hjernen din veldig flink til å tolke bevegelsene som finner sted mellom de 60 bildene hvert sekund du får servert, selv om et høyhastighetskamera tydelig vil vise deg noe helt annet.

Uansett, tearing er i utgangspunktet et problem for spill fordi hverken skjermkortet eller skjermen venter på hverandre, og slik har det vært lenge, men som nevnt finnes det en løsning: vertikal synkronisering.

Verktikal synkronisering går kort fortalt ut på at skjermen ikke begynner å tegne bildet som skjermkortet har laget før skjermen er ferdig med det forrige bildet. Skjermkortet lager ett bilde, og det presenteres som det neste bildet i rekken på skjermen, før skjermkortet lager et nytt bilde, som så presenteres som bilde nummer to på skjermen.

I utgangspunktet kan dette virke som en veldig fin løsning, sett ut i fra problemene vi har omtalt over. Når skjermkortet ikke lenger leverer et bilde til skjermen før skjermen er ferdig med det forrige bildet, unngår man tearing-effekten. Alt er imidlertid ikke vel – som du skimter av grafen over jobber skjermen fortsatt med 60 Hz, og vil vise et bilde 60 ganger i sekundet uansett hva skjermkortet gjør. Da oppstår det problemer om skjermkortet bruker mer enn 16 millisekunder på å klargjøre neste bilde, noe som typisk kan skje i en veldig intensiv del av et spill.

Ser du på teksten i dette bildet, er det en illustrasjon på glorie-effekten som kommer rundt objekter i bevegelse. Kamera har fanget dette bildet med en lukkertid på 1/200 av et sekund.Foto: Jørgen Elton Nilsen, Hardware.no

Når skjermkortet ikke er raskt nok og ikke kan levere et nytt bilde til skjermen før den skal begynne med neste bilde, får man et problem: Uten et nytt bilde fra skjermkortet, repeterer skjermen det forrige bildet. Selv om dette i stor grad eliminerer tearing-problemet, skaper det to nye: Stutter og lagg. Når skjermen repliserer et bilde to ganger midt i en bevegelse i spillet, blir hjernen din forvirret. Tiden en bevegelse «fryses» på skjermen stemmer ikke med hvordan hjernen din har tolket bevegelsen som ledet frem til dette punktet, og du oppfatter at spillet hakker – det lagger – fordi bevegelsen ikke er så jevn som den skal være.

I spill opplever du ikke bare denne effekten som at bevegelser i grafikken ikke har den flyten de skal ha, du vil også se at alle overganger mellom farger, objekter og kanter generelt, blir litt uklare. Studerer du grafikken nøye vil du se at en overgang i bevegelse, som når du panorerer deg forbi en lyktestolpe, gjør at stolpen nesten får en glorie rundt seg.

I tillegg skaper dette en tidsforskyvning i hele spillet, som i sin tur påvirker både mus- og tastaturbevegelsene. For å styre unna alle disse problemene, kommer G-Sync inn i bildet.

Konseptet her er egentlig såre enkelt. I de to eksemplene frem til nå har skjermen alltid spyttet ut en fast frekvens med bilder, uansett hva skjermkortet har gjort, men det snur Nvidia opp ned på. Med G-Sync i skjermen tvinger de rett og slett skjermen til å vente på skjermkortet før den begynner å presentere et bilde. Tearing blir da aldri et problem, siden et bilde ikke blir dumpet inn til skjermen midtveis i presentasjonen. Man unngår også både stutter og lagg, fordi om skjermkortet trenger litt ekstra tid, så står bare skjermen der og venter til et nytt bilde kommer.

Måten Nvidia har fått til å endre på skjermens faste frekvens, er ved å endre en verdi som heter V-blank. V-blank er tiden skjermen bruker mellom det punktet den er ferdig med å «tegne» et bilde på skjermen, til den starte på neste. Hvis du ser for deg de gamle CRT-skjermene, så tegnet de én og én rad med piksler ved hjelp av en katodestråle som beveget seg over skjermen fra topp til bunn, og når den hadde nådd det nedre høyre hjørnet av skjermen, tok det noe tid før strålen fikk flyttet seg til toppen igjen for å starte på nytt. Denne tiden kalles V-blank, og LCD-skjermene jobber veldig likt.

Ved å endre V-blank-tiden kan Nvidia styre når skjermen skal tegne et bilde, og det er selve nøkkelen til G-Sync. Det er også mye av grunnen til at skjermen din må ha en egen G-Sync modul, all teknologien kan nemlig ikke puttes i skjermkortet.

Standard i skjermen bestemmer

G-Sync-modulen som står i skjermen.Foto: Nvidia

G-Sync har i utgangspunktet ingen begrensning på hvilken type skjermpanel, responstid eller andre kjente faktorer en skjerm må støtte eller ha for at det vil fungere. G-Sync kan både fungere på TN-, IPS, og VA-paneler – men det er ett krav som stilles til teknologien i skjermen din.

I alle skjermer sitter det en liten modul som kalles en T-con, en forsinkelseskontroller, og jobben til denne er å kontrollere selve forsinkelsen i bildepanelet. Fra denne går det en kabel ned til skaleringskortet, selve hovedkortet i en skjerm, og G-sync-modulen er en form for et skaleringskort. Denne koblingen mellom T-con og skaleringskortet tar i bruk tre forskjellige teknologier – og en av dem heter LVDS.

LVDS er den mest utbredte standarden for både bærbare PC-er og skrivebordsskjermer. Du har også V-By-One, som du normalt finner i TV-er, og EDP i DisplayPort-standarden.

Kravet for at G-Sync skal fungere er at skjermen støtter LVDS, og så lenge dette er på plass vil en skjerm ha muligheten til å støtte G-Sync. Nvidia må riktig nok tilpasseG-Sync-modulen til hver enkelt skjermmodell, fordi forskjellige modeller har forskjellige forsinkelser, men det skal være en relativt enkel jobb for produsentene.

Ingen vet hva klokka er

Grunnen til at Nvidia må inn i skjermen, manipulere tilgangstidene og be skjermen vente, bunner til syvende og sist ut i ett fundamentalt problem med spillgrafikk: På ingen steder i prosessen fra spillmotoren i spillet starter en prosess til den blir presentert for deg på skjermen, aner noen som helst av aktørene – kretsene – hva klokka er. Mer spesifikt, hvert element i prosessen aner ikke hvor god tid de har, eller når leddet før regner med å bli ferdig.

Spillet ditt vet riktig nok hva klokka er, og setter en tidsmarkør som spillmotoren oppdaterer alle fysiske objekter etter. Her blir tid en form for avstandsmåling, hvor spillmotoren sier at «på så mange millisekunder skal dette objektet flytte seg så lagt». Men der stopper det, for når skjermkortet skal ta over jobben med å regne ut hvordan hver nye piksel vil se ut, er hele tidselementet tatt ut av ligningen. DirectX sender et kall til skjermkortet, men DirectX tar ikke med seg denne tidsmarkøren som spillet satt. Det er grunnen til at skjermkortet da bare renderer et bilde så fort det overhodet klarer, uten å ta høyde for når den egentlig burde være ferdig med jobben.

Som Nvidia har poengtert for oss: Hadde man hatt en tidsmarkør som fortalte Nvidia, eller AMD og Intel for den saks skyld, når skjermkortet bør være ferdig med et bilde, og når bildet bør bli presentert på skjermen, hadde situasjonen trolig vært en helt annen.

Da kunne nemlig spillet fortalt skjermkortet når den vil at neste bilde skal presenteres, basert på når det forrige ble levert. For spillet kan nemlig ikke fortelle skjermkortet hvor lang tid det skal bruke på å rendere, men Nvidia skulle gjerne sett at de fikk beskjed om når det var ønskelig at den skal vises. Hadde det vært slik tror Nvidia at alle spill, med alle skjermkort, kunne gitt en «perfekt» opplevelse.

Hjernen hjelper deg

Men slik er det altså ikke, tidsmarkør er rett og slett ikke en del av spillverdenens naturlover, så Nvidia har derfor satset på G-Sync. For å se hvordan det å konstant regulere frekvensen til skjermen kan gi deg en bedre spillopplevelse, er det to ting som må studeres: Måten skjermen leverer et levende bilde til deg, og hvordan hjernen din tolker det skjermen din viser. Konseptet med G-Sync er rett og slett å manipulere de to, og mye av denne jobben gjør du selv.

Hvis du glemmer G-Sync et lite øyeblikk og ser på nøkkelmekanismene ved levende bilder, som spill og film, består det av en serie med statiske bilder. De er alle litt forskjøvet i forhold til hverandre, og når du ser 60 av dem i sekundet oppfatter hjernen din det hele som en jevn og fin bevegelse.

Foto: Jørgen Elton Nilsen, Hardware.no

Hjernen din ser ett av disse 60 bildene, og basert på hvordan de forrige bildene har artet deg, «tolker» hjernen seg frem til hva som vil skje i neste bilde, for så å fylle inn tomrommet. Tomrommet fylles ved at hjernen lager en «blur», en uklar overgang, mellom de to. Hjernen din går imidlertid ut i fra at tomrommet i mellom hvert enkelt bilde har en relativt fast lengde, og at bevegelsen er relativt konstant.

I spill er det imidlertid ikke alltid slik. Bevegelsen kan ha endret seg markant mellom hvert bilde, og takket være stuttering-problemet vi omtalte over er det ikke nødvendigvis slik at det neste bildet øyet ditt ser faktisk er det neste bildet i serien – skjermen kan ha flyttet det ett hakk frem i tid. Dette skaper rot i systemet, men siden spill har fungert slik i over et tiår har hjernen din samtidig lært seg å ignorere alt dette – men det har ledet til at spillopplevelsen er hakket dårligere enn den kanskje kunne vært.

– Det som skjer er at hjernen din tolker avstanden mellom hvert bilde. Avhengig av hvor raskt frekvens man har på skjermen, er hjernen din komfortabel med en viss grad av endring basert på FPS-en. Om avstanden øker må du øke FPS-en for å justere for hvordan hjernen din tolker endringer i avstanden et objekt beveger seg. Det er avstanden gjennom dine grader med syn du har et problem med, forteller Petersen.

Hjernens mekanismer er vel så viktige for ham som elektronikken i skjermkortet:

– Hvis du tenker over det så vet ikke hjernen din noe om fart. Men den kjenner til grader av variasjon. Hvis du tegnet en linje fra nesa di og ut til skjermen, og teller grader til høyre eller vestre, er hjernen din i stand til å tolke innholdet over en viss avstand. Hvis vi senker hastigheten på et objekt, kan det se bra ut ved 30 FPS, men om hastigheten øker blir objektet uklart. Da må vi kanskje øke til 60 FPS for å la objektet bevege seg raskere, og gi deg samme følelse, sier han.

Brede bruksområder

Selv om det først og fremst er med stasjonære spillmaskiner med tilhørende skrivebordskjermer Nvidia har tenkt å ta i bruk denne teknologien, er de klare på at det finnes mange flere bruksområder. Mest nærliggende er det å se for seg å bruke dette med bærbare spillmaskiner, men det er ikke nødvendigvis så lett å få til.

Som vi var inne på er det avgjørende at skjermen kommuniserer med G-Sync-modulen via LVDS-standarden, og det er ikke like lett å få til med bærbare maskiner. Selv om de fleste tar i bruk denne standarden, er den som oftest koblet på Intels brikkesett, fremfor for å være direkte koblet på Nvidia sitt skjermkort. Og siden dette brikkesettet ikke vet hvordan det skal håndtere en variabel frekvens på skjermpanelet, er det i dag umulig å implementere G-Sync på de fleste bærbare maskiner.

Nvidia selv sier at det er en lang bro å krysse for å få løst opp i dette, men for det fåtallet bærbare maskiner der skjermen er koblet rett på Nvidia sine grafikkbrikker, vil det være en mulighet.

– Men det som virkelig er interessant er nettbrett og telefoner. Når du skroller og sveiper deg rundt på skjermen er det alltid litt hakkete, og det er akkurat det samme problemet som vi har hatt med spill. Det kan vi rette opp med dramatisk effekt, se bare for deg et nettbrett der all grafikken flyter som smør, sier Petersen.

Om du vil finne G-Sync-teknologien i andre enheter enn stasjonære PC-er er et spørsmål Nvidia selv pønsker mye på for tiden. De lisensierer ut noe teknologi i dag, men om de vil gjøre det med G-Sync er de ikke sikre på ennå. Etterspørselen er der i alle fall, for Nvidia hevder at de har blitt nedringt av andre som jobber med skjermer i en eller annen form, både mobil-, nettbrett- og TV-produsenter.

Fullt programmerbar

Foto: Nvidia

Selve G-Sync-modulen som Nvidia putter i skjermen er fullt programmerbar, og Petersen legger vekt på at de kan endre ganske mange av egenskapene i ettertid – for å eventuelt utvide produktet. Selve modulen er nemlig en FPGA-modul, i tillegg til at Nvidia har gitt den noen minnebrikker de visstnok ikke bruker spesielt mye i dag. En programvareoppdatering kan med andre ord gjøre mye for den lille rakkeren, om Nvidia bestemmer seg for å gjøre det i fremtiden.

Uten at Nvidia vil være konkrete, kan det virke som at de ikke har lyst til å stoppe der de er nå:

– Når vi begynner å komme inn i skjermene er det en hel ny verden der ute. Det er så mye mer vi kan gjøre. Det er ting vi kan gjøre med musen også, sier Petersen.

Noe mer kan han ikke si, men det er naturlig å tenke seg at når samme aktør bearbeider forsinkelsen i både skjermkortet og skjermen, kan forsinkelsen også manipuleres ut mot både mus og tastatur. Om de fire elementene snakker sammen og koordinerer arbeidet, vil Nvidia være godt på vei til å ha full kontroll på absolutt hele spillopplevelsen din. Men om det er noe de faktisk jobber med, må i alle fall inntil videre forbli med nettopp denne tanken.

Vil du vite mer om Nvidia G-Sync?
Les intervjuet med mannen som fant opp det hele »

Vi gjør oppmerksom på at Nvidia dekket flybilletten til London.

annonse