Gå til innhold

TEST: SLI: På ett og to kort?


Anbefalte innlegg

Så vidt jeg husker var det i gamle dager slik at hvert kort genererte halve bildet hver, mens dagens kort fordeler arbeidsmengden dynamisk.

Ikke nødvendigvis. Det finnes to SLI-moduser. SFR (Split Frame Rendering) deler skjermbildet i to deler, og "halvdelene" som rendres av hvert kort vil som regel ikke være like store (derav dynamisk fordeling).

 

Men man har også AFR (Alternate Frame Renderer), hvor skjermkortene istedet rendrer annenhver frame.

 

Dog skal det nevnes at det trolig blir SFR som etterhvert "fester seg" - dette fordi AFR medfører ekstra forsinkelser.

Lenke til kommentar
Videoannonse
Annonse

Dagens SLI står for "Scalable Link Interface", mens 3dfx kalte det "Scan Line Interleave". Den gangen gjorde man som TV'en, hvert kort tok annenhver linje av gangen.

 

nVidias løsning bruker altså enten en load balanced deling av skjermbildet - "Split Frame Rendering" eller at kortene tar annethvert bilde - "Alternate Frame Rendering". Metodene har fordeler og ulemper. (Merk: jeg bruker "skjerm" og "bilde" synonymt om "frames".)

 

Fordelen med SFR er at kortene jobber sammen om å fylle opp skjermbufferet (i primærkortet, det skjermen er koblet til.) Så snart de er klare sendes bildet av gårde og de kan umiddelbart begynne på neste. For å sørge for at de blir ferdig noenlunde likt brukes "load balancing" algoritmer til å fordele "lasten", det vil si hvor mye av bildet som behandles av hvert kort.

 

Ulempen er at skjerm kan ikke alltid deles langs en strek. Mye av skjermkortets oppgaver er behandling av polygoner, og hvis disse krysser streken må de regnes ut av begge kort og så klippes. I tillegg er det en mengde informasjon som ikke er en del av skjermbildet. Skjermkortene idag har ansvaret for å legge på en mengde effekter: Såkalte render targets som skjermbildet bruker for å oppnå de rette textures, refleksjoner etc i bildet. Disse lagres "off screen", og skjermbildet "tegnes inn" i dem for å lage det endelige bildet. Og effekten av et render target kan godt krysse "streken". nVidia sier så vidt jeg forstår at render targets for hele bildet sendes til begge kort.

 

(Merk: Jeg ver ikke sikkert om skjermbildet faktisk er delt langs en horisontal strek, eller om det er mer avanserte delingsalgoritmer basert på regioner.)

 

I tillegg har altså driveren en betydelig jobb å gjøre. Siden load balancing skjer i driveren vet den ikke hvor mye arbeid det er med bildet, men baserer seg istedet visstnok på et snitt av foregående bilder.

 

Alternate Frame Rendering har ikke disse problemene. Siden skjermkortene tar et helt bilde hver, er det ingen av overnenvnte overheads. Enklere for driverne. Så hvorfor er ikke dette per def. den beste metoden? I teorien skulle to kort kunne jobbe dobbelt så fort som ett hvis det ikke fantes overhead. Svaret er buffering. Selv om kortene jobber parallelt må de allikevel vente på at det andre blir ferdig. I teorien kan data overføres underveis, fra kort nummer 2 til primærkortets skjermbuffer, men i mellomtiden tar den ikke imot nye data. Her glipper det litt for meg, men jeg forstår det som at dersom ikke systemet (CPU) kan bufre i mellomtiden (på grunn av dårlige kapasitet, dårlig skrevet programvare) oppstår et "lag" som ikke er ulikt det du får med ett kort. Om noen har en mer utfyllende forklaring tar jeg gjerne imot den.

 

Noen kilder snakker også om at dersom det ene kortet blir ferdig før det andre, så kan førstnevnte overføre en del av "sitt" skjermbilde til det andre. Dermed øker lag'en. Dette har jeg imidlertid ikke sett dokumentert.

 

I tillegg er det i enkelte spill noen effekter av de nevnte rendering targets som skal beholdes i neste bilde. Det blir et problem med AFR.

 

Så konklusjonen er at om programmet er velskrevet og resten av maskinen kraftig nok, skalerer AFR best på grunn av minimal overhead. SFR er tyngre og kjøre, men siden den er transparent for resten av systemet og ikke må bufre frames vil den være å foretrekke for mange spill.

 

dessverre ser det ikke ut til at SLI kan velge modus dynamisk, den kan altså ikke skifte fra SFR til AFR eller motsatt underveis dersom valgt metode er uøkonomisk.

 

Med forbehold om feil og misforståelser...

 

Geir :)

Endret av tom waits for alice
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å
×
×
  • Opprett ny...