Hvad har DirectCompute af betydning for gamere?
Skrevet af: Michael Larsen | 0 brugerkommentarer
Vi har testet: Battlefield 3
Udvikleren DICE har benyttet DirectCompute til at accelerere behandlingen af lys, som ikke kaster skygger, i Battlefield 3. Denne proces deler skærmen op i tern og analyserer hvilke lys der oplyser hvilke tern. Dette hjælper til at etablere en per-pixel belysning, ved at indnævre antal lys i hvert tern.
"DirectCompute gør det muligt for denne effekt at blive behandlet med lynhurtig performance, fordi det er så paralleliserende," siger renderingsarkitekt Johan Andersson fra DICE. "For hvert tern af 8 x 8 pixels, behandles en række af disse arbejdselementer samtidigt. Adskillige tern kan behandles side om side med hinanden, da der er så mange kerner at arbejde med i en GPU. Vi er i stand til at behandle belysning, som ikke kaster skygger, lynhurtigt og det er en vigtig del af en Deferred Rendering (Udskudt Rendering) engine, som flere og flere spil benytter sig af i dag."
Du kan se mere til denne teknik i AMD's "Leo" demo, som fulgte med Radeon HD 7970 kortets lancering. Ifølge AMD benytter Leo demoen lignende sorterings- og beregningsteknikker, som også DICE gør brug af, men det sker meget hurtigere med en forud-renderende engine. Denne fremgangsmåde tillader behandling af belysning med stort set alle større renderingsteknikker, som er i brug i dag.
Som de fleste spil, er Battlefield 3 meget afgængig af compute shaders til de fleste effekter og må finde på nødløsninger for at omgå shaderbegrænsningerne. Eksempelvis kan den dobbeltsidede upsampling compute shader bruges til at accelerere renderingen af udvalgte screen-space teknikker. Denne proces fungerer således, at den først renderer den ønskede effekt (såsom SSAO) ved en opløsning, der er halvt så stor og efterfølgende indføjes denne lav-opløsnings rendering tilbage til den benyttede opløsning via et høj-kvalitets kantbevarende filter implementeret via DirectCompute. De efterfølgende gentagelser kan udføre denne operation ved fuld opløsning uden det har indflydelse på performance. ellers træder DirectCompute kun ind, når det er nødvendigt.



Thomas fra Codemasters fortæller, at DiRT 3 bruger en lignende interpoleringstaktik med høj-definitions ambient occlusion (HDAO). Årsagen til at HDAO beregnes ved en opløsning halvt så stor, er fordi samplingen fra dybde-bufferen matcher den sampling fra en sample med dobbelt så stor diameter i fuldstørrelsesopløsning. Effekten kan køres med fuld opløsning, men kvaliteten vil kun være marginalt bedre, mens den øgede belastning ville være for omkostningsfuld. Halv skærmopløsning ser ud til at være sweet spot for nu.
DirectCompute-baseret assistance på effekter som ambient occlusion er dog ikke helt gratis. Afhængigt af scenens forhold, kan det både hjælpe eller skade performance.
"Det er vigtigt at teste i et område hvor der er masser af lyskilder, såsom i undergrundsbanen på Metro multiplayer kortet," siger AMD's Neal Robison. "Compute stien er der ikke for at accelerere den gennemsnitlige eller den bedst tænkelige situation, men de dårligste områder, hvor vi har flest lyskilder. Men da det er aktivt hele tiden, reduceres performance altså grundet ekstra overhead i scener, hvor du kun har et par enkelte lyskilder."
Du kan se nøjagtigt hvad vi har benyttet til benchmarkingen af Battlefield 3 i denne optagede demo; vi benytter det 90 sekunder lange klip i alle Tom's Hardware anmeldelser. Dets kombination af dunkle indendørs forhold efterfulgt af en strålende (men overskyet) udendørssekvens, bør give os en rimelig balanceret gennemsnitsevaluering.

Vi opdagede tidligt at AMD's nuværende APU'er ikke ville være i stand til at levere spilbare frame rates, medmindre vi satte spillet til entry-level indstillinger. Derfor har vi, for at gøre det fair for hele feltet, benyttet følgende konfiguration: texture, shadow, effects, mesh, terrain quality og terrain decoration er sat på "Low"; AA deferred, AA post og motion blur sat "Off"; og anisotropic filter til 1x.
Kommenter denne artikel
Log ind