Gå til innhold

Hvordan vil raden 9700 pro klare HL2


Anbefalte innlegg

Videoannonse
Annonse
som sagt er ikke så veldig "geek" så hva er AA og 2x AA??

Er heller ikke geek, men alle burde nesten vite det som har data.

AA = Anti Alising og da er 2x AA = 2x Anti Alising.

og for å si en ting til AF = Anastrofic Filtrering.

 

Bare hyggelig og hjelpe :p

Kan noen fortelle meg om jeg er helt lost, eller har jeg rett når jeg tror at af står for antistophic filtering?

 

Edit:leif

Endret av fargoth
Lenke til kommentar

AF står for Anistropic Filtering som Rikky skrev under :blush:

 

Og for å forklare hva AA er (AF vet jeg ikke hva gjør, men det har noe å gjøre med fargene), så kan jeg si at AA dobler antallet piksler som rendres, dette gjør at f.eks enden på en vegg ikke får en hakkete kant, men at den kanten blir jevnet ut, slik at bildet ser mye bedre ut.

 

For å teste hvordan AA funker, spill CS 1.5 uten AA, ta screenshot, så spiller du med 8X/16X AA (avhengig av hvor mye kortet ditt støtter), ta screnshot fra det samme stedet og sammenlign.

Endret av BrAtTeRn
Lenke til kommentar
Er heller ikke geek, men alle burde nesten vite det som har data.

AA = Anti Alising og da er 2x AA = 2x Anti Alising.

og for å si en ting til AF = Anastrofic Filtrering.

 

Eh, fulgte det med en guide som forklarte hva AF eller AA er da du kjøpte datamaskin? Hvorfor kommer du med en slik påstand når du ikke selv virker å være istand til å forklare fenomenene?

 

Og for å forklare hva AA er (AF vet jeg ikke hva gjør, men det har noe å gjøre med fargene), så kan jeg si at AA dobler antallet piksler som rendres, dette gjør at f.eks enden på en vegg ikke får en hakkete kant, men at den kanten blir jevnet ut, slik at bildet ser mye bedre ut.

 

For å teste hvordan AA funker, spill CS 1.5 uten AA, ta screenshot, så spiller du med 8X/16X AA (avhengig av hvor mye kortet ditt støtter), ta screnshot fra det samme stedet og sammenlign.

 

Som en helt enkel forklaring, kan det faktisk være pedagogisk nyttig å forklare (FS)AA på denne måten, men det du beskriver er en måte å implementere FSAA på som heter Supersampling (SSAA, og som ikke lenger brukes på grunn av for stort ytelsestap.

 

La oss dykke litt dypere ned for å se hva som egentlig skjer inne i GPU-en fra den mottar geometri- og teksturdata over AGP-bussen til resultatet kommer opp på skjermen.

 

Fra geometri og teksturer til ferdig bilde:

 

En består, litt forenklet, av to bestanddeler, geometri/3dmodeller (landskap, karaktermodeller, bygninger, gjenstander) laget i et 3Dmodelleringsprogram (3DSMax, Lightwave, Maya, Softimage etc), og teksturer som dekker disse, laget (håndtegnet, fotografisk registrert eller en blanding av disse) i billedredigeringsprogram.

 

Fortsatt litt forenklet, kan man beskrive GPUens arbeidsprosess på denne måten.

Ut ifra kameravinkelen/synsvinkelen til spilleren, lages en liste over hvilke modeller og tilhørende teksturer som vil være synlig for spilleren i det ferdige bilde.

Deretter sjekker 3Dkortet dybdeinformasjonen i bildet, og stryker alle teksturer som vil være gjemt bak andre objekter, slik at ikke unødvendig mange teksturer/modeller vil bli lastet til minnet.

Så lastes alle synlige teksturer og modeller inn i skjermkortetsminne (evt i datamaskinens systemminne i den såkalte AGP Aperture hvis minnet på skjermkortet går fullt).

 

La oss si at den valgte skjermoppløsningen er 800x600piksler.

Da vil GPUen ta utgangspunkt i første piksel øverst i høyre hjørne og finne ut hvilken modell som vil være synlig for spilleren på denne posisjonen, hvilken tekstur som dekker denne modellen og hente den endelige pikselfargen som skal vises på skjermen ut ifra et gjennomsnitt av de fargepunktene på den aktuelle teksturen som faller innefor denne pikselen, den ruten i rutenettet på 800x600 ruter.

 

----Eks-------

Dette ble en lang og vanskelig setning og ihvertfall den andre delen må forklares nærmere.

Se for deg at du står og ser utover et landskap. Midt forut, i midten av bildet, langt langt borte, ligger et hus med en flaggstang i hagen. Dette huset er så langt borte og opptar en så liten del av bildeflaten/rutenettet at flagget, det norske faller innenfor en piksel/en rute i rutenettet. Da vil fargen til denne ruta bli et gjennomsnitt av alle fargene i teksturen som representerer flagget.

---------------

 

Aliasing/trappetrinneffekt

 

Slik fortsetter GPUen for hver rute i rutenettet, først sjekker den hvilken modell som dekker størst del av ruta, deretter regner den ut gjennomsnittet av de synlige fargepunktene i teksturen som faller innenfor ruta, og deretter lagres denne verdien sammen med de andre i samme bilderute i en buffer i skjermkortminnet som kalles framebuffer (billedrutebuffer) på engelsk. Den projiserer hele 3D-scenen på et flatt (kamera)plan. Det er denne som til slutt blir vist på skjermen, helst så kort som 1/60 sekund eller mindre :) (jfr. tommelfingerregelen om 60 bilder pr. sekund).

 

Hvis du ennå henger med, vil du se kanskje ha lagt merke til/stusset da jeg sa at den bare tar fargeverdier fra den modellen som dekker størst del av ruta, men det er dette som er årsaken til "aliasing"/"jagged edges"/"trappetrinneffekten, som er synlig på enhver diagonal modellkant i et bilde hvor anti-aliasing ikke er brukt.

 

Alle detaljer som er "finere" enn skjermoppløsningen tilsvarer vil få slike problemer, og det er ikke bare trappetrinn som blir resultatet.

 

Hvis du tenker deg en strømledning som går i en bue tvers over bildet, og som er litt mindre enn en piksel høy, vil den i det horisontale planet i noen ruter være den modellen som dekker størst del av ruta og derfor synlig (men med stygge), mens

hvis den er delt på langs av to ruter, dekker den kanskje mindre enn halvparten av begge rutene, og den er usynlig en eller flere piksler i horisontal retning.

 

----Eks-------

http://www.beyond3d.com/articles/ssaa/index2.php

 

Bildene øverst her forklarer dette bedre enn ca.1000 ord..

---------------

 

FSAA, MSAA

 

Dagens hovedtype av FSAA (eller Full Scene Anti Aliasing, fullskjerms kantutjevning), MSAA (Multisample antialiasing) påvirker ikke teksturene i noen grad, men tilpasser den tredimensjonale scenen til visning i den valgte skjermoppløsningen. Isteden for bare å finne hvilken modell som dekker størst del av ruta, tar det flere spørringer/prøver/samples (2 ved 2xAA, 4 ved 4xAA 6 ved 6xAA osv) innenfor hver rute i rutenettet, og gir en endelig fargeverdi basert på gjennomsnittet av resultatene fra disse spørringene.

Her regner den dog bare ut fargeverdien fra de aktuelle teksturene en gang pr tekstur (og ikke 2 ved 2xAA, 4 ved 4xAA osv), så i praksis kan man si at MSAA gir høyere faktisk geometrioppløsning langs kantene, men ikke høyere teksturoppløsning, og derfor sparer man også mye minne når man behandler teksturene mindre enn ved andre metoder.

Dette er fortsatt bare en overfladisk beskrivelse av det hele, hele veien finnes det måter å komprimere informasjon og optimisere deler av prosessen, både med tanke på billedkvalitet og ytelse, men dette blir for omfattende for denne "kjappe gjennomgangen..

 

 

----Link------

http://www.3dcenter.org/artikel/multisampl...ing/index_e.php

 

En veldig god artikkel med fokus på MSAA jeg fant mens jeg lette etter eksempler.

---------------

 

Teksturer, filtrering, Anisotropisk filtrering.

 

"To understand the differences between the different filtering algorithms you should first understand what filtering tries to do. Your screen has a certain resolution, and the screen is build up from what is called pixels, the resolution determines the number of pixels. Now the 3D card has to determine the color of each of those pixels. The basis for the colors is found in texture maps that are mapped onto polygons that are situated in 3D space. A texture map is build up from pixels that we call texels. These texels are the pixels of a 2D image that is mapped on to the 3D surface. The big question now is : which texel(s) determine the color of the screen pixel?" (Kristof, B3D, 1998)

http://www.beyond3d.com/articles/Anisotropic/index1.php

 

Hvis du leser denne artikkelen fra topp til bunn og studerer eksempelbildene, vil du forstå det teoretiske bak teksturfiltrering, alt jeg kan gjøre bedre, er å forklare den faktiske effekten forenklet og overfladisk på norsk..

 

La oss begynne med et nytt eksempel. Du står og ser rett frem nedover en gang.

Du ser hverken litt ned/opp eller litt til høyre/venstre, men rett frem, du står midt mellom veggene og i enden av gangen er en vegg med en dør.

 

La oss for all enkelhets skyld si at geometrien i denne scenen er uhyre enkel.

Gangen er en terning med seks sider som er strukket i en retning, slik at det former et avlangt rektangel sett fra over taket eller bak sideveggen.

Døren er malt på en tekstur, et bilde på 256x256 piksler som dekker hele veggen av enden av gangen. selve døren er da ca 100x250 pixler på teksturen.

 

Hvis billedflaten som 3dscenen skal prosjiseres på er paralell med denne veggen (som gitt over), og du står akkurat så langt unna at teksturen dekker 256x256 ruter i rutenettet, er alt greit. En piksel i teksturen dekker Hvis du imidlertid rygger noen skritt, vil GPUen måtte krympe teksturen for at den skal få plass på sine angitte ruter, og hvis du går nærmere en utgangspunkter må den strekkes ut.

 

Hva så med gulvet?

Når du står slik som i eksempelet, må teksturen, som i utgangspunktet (i skjermkortminnet) er kvadratisk projiseres (strekkes/forskyves) over i en trapesformet del av rutenettet. Vi skjønner fort at fargeverdien til en enkelt rute i rutenettet ikke vil tilsvare en piksel i teksturen.

Istedenfor at teksturen strekkes og forskyves i seg selv, tar GPUen også her spørringer innenfor hver billedrute, og de forskjellige typene spørringene, samt mip-mapping, en teknikk som tilpasser oppløsningen til teksturen etter avstanden fra kamera, er behørig forklart i artikkelen på Tom's Hardwareguide nevnt under.

 

---Eks-------

http://www.beyond3d.com/reviews/visiontek/...3/ssamaniso.php

 

Her ser en hvilken dramatisk forbedring av billedkvalitet/oppfattet teksturoppløsning en kan få av AF.

--------------

---Link------

http://graphics.tomshardware.com/graphic/2...timized-01.html

 

En helt fantastisk godt skrevet innføring i teksturfiltrering med gode billedeksempler.

-------------

 

 

Hvis vi skulle tenke oss at GPUen tok en spørring/prøve per rute, og brukte denne direkte som farge for ruta, ville teksturer langt unna bli en uforståelig og grøtete affære. Hver rute ville dekke over for mye informasjon, slik at veldig få ruter ville få en statistisk riktig farge når bare en spørring lå til grunn. Siden MSAA bare henter en teksturfargeverdi for hver rute skjønner vi at behandling av teksturer må foregå et annet sted i prosessen.

Istedenfor lager GPUen nedskalerte versjoner av originalteksturen som brukes med lavere og lavere oppløsning/teksturstørrelse etterhvert som man fjerner seg fra kamera, mip-mapping. Dette fjerner grøten, men også tilsvarende mye av oppløsningen og skarphetsfølelsen i teksturen.

For å bøte på dette bruker man igjen spørringer/prøver, men her har man et annet utgangspunkt enn ved Anti-Aliasing. FSAA beregnes i 2D-planet, og man kan derfor bruke et spørringsmønster tilpasset å optimalisere informasjonen i bredde og høyde, men gulvet vårt ligger innover i bildet. Her blir derfor høyde og dybde de to dimensjonene som blir viktigst for å hente ut informasjon. bredden kan vi se bort ifra, da denne ikke vil øke billedkvaliteten. For en sidevegg blir det derimot bredden og dybden.

Anisotropisk Filtrering en måte å gjennomføre spørringer på, som er tilpasset perspektivet teksturen sees fra. Man kan velge hvor mange spørringer man vil bruke, høyere antall gir bedre bildekvalitet og lavere ytelse..

 

Noen spørsmål eller feil/mangler? Forslag?

 

 

 

En liten advarsel til slutt: Dette er hva noen timer bak kassa i en rolig dagligvarebutikk gjør med dere, gutter. Ligg unna..

 

 

Mvh

Kjetil

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...