Benchmark výsledky
Výkon shader core:
V nasledujúcom teste sa používajú 2 rôzne shadre, optimalizované pre 5 sub skalárne ALUs R600. Jeden slúži na zistenie max. výkonu shader core a druhý predstavuje „worst case“ scenár – čiže najhorší možný prípad. Shadre bežia v 2 aplikáciách. Jedna je určená pre DirectX 9 a druhá pre Direct3D 10, aby sme zistili, či existujú výkonnostné rozdiely pri použití rôznych API.
Jedna časť testu obsahuje navzájom závislý tok skalárnych inštrukcií a predstavuje tak najhorší možný prípad, keď z 5 sub skalárnych ALUs bude vyťažená len 1 a výkon shader core tak spadne na 1/5. Druhá časť obsahuje navzájom nazávislých tok inštrukcii a slúži na zistenie maximálneho výkonu. Všetky shadre v teste sú pixel shadre.
Výkon shader core teda vidieť v tabuľke a je takmer zhodný pri použití rôznych API. Navzájom závislý tok skalárnych inštrukcií ukázal s čím musí R600 bojovať a čo skalárna architektúra G80 zvláda oveľa lepšie. Hardware R600 nemal jednoducho možnosť rozvrhnúť voľné inštrukcie na zvyšné ALUs. Treba si ale uvedomiť, že typické shadre v hrách obsahujú množstvo rôznych inštrukcií, rôzne množstvo komponentov a ešte veľa iných rozdielov, ktoré musí R600 rozumne rozvrhnúť.
Takisto sme zaznamenali, že všetky špeciálne funkcie dokáže hardware vykonávať s výkonom 1 SFU za takt, okrem RCP, ktoré je vykonávané polovičnou rýchlosťou. Okrem toho bolo vidieť, že konverzia float INT potrebuje 1 takt na 1 skalárny kanál a hardware vykonáva DP4 za 1 takt, pokiaľ sú všetky 4 sub skalárne ALUs voľné (toto platí samozrejme aj pre DP3/DP2). Teoreticky by mal byť ADD výkon shader core R600 veľmi vysoký, pokiaľ ho dokáže hardware efektívne rozvrhnúť. Podľa všetkého je možné dosiahnuť maximálny výkon shader core hocijakou samostatnou inštrukciou, pokiaľ sa s ňou dokáže compiler vysporiadať. Toto je ale prvok, ktorý musel byť zvládnutý aj pri každej predchádzajúcej programovatelnej architektúre. Veríme preto, že kompetentné osoby v AMD/ATi dokážu optimalizovať čip pre väčšínu bežných situácii a časom aj pre tie menej bežné.
Výkon sampler hardwaru:
V ďalšom benchmarku sa dá nastaviť množstvo formátov, niektoré aj s premenlivými kanálmi a samozrejme output, čiže texturing operácie za sekundu. My sme sa pozreli na bilinear a point sampling výsledky INT 8, INT 16, FP 16,FP32 a DXT. Zamerali sme sa hlavne na povrchové formáty INT8 a FP16, nakoľko sa často využívajú v Direct3D 10.
Využívali sme sample zo 4x4 textúri, aby sme dosiahli maximálny výkon. V porovnaní s G80 má R600 prístupnú 1/4 INT8 bilerp a 1/2 FP 16 bilerp rate za takt. Radeon HD 2900XT má ale pracovnú frekvenciu sampler hardwaru až 742MHz.
R600 nestráca výkon pri INT8 a FP16 bilinearnom filtrovaní (vrátane 4 kanálových povrchov), pokiaľ nelimituje priepustnosť (všetkých 16 texelov bolo čítaných z texture cache). S ďalšími nekomprimovanými formátmi stráca R600 polovičku výkonu pri porovnaní 4 kanálového s 1 kanálovými povrchom. G80 má vyšší 4 kanálových FP32 filtrovací výkon vďaka výkonnejším sampler jednotkám. A
ko vidieť, nestráca Radeon HD 2900XT výkon ani so 4 kanálovým FP16 filtrovaním. Pri 4 kanálovom INT16 už ale stráca polovičku výkonu, nakoľko nemá sampler hardware dostatok presnosti k dispozícii (nie je dostatok mantis k dispozícii). Sampler hardware G80 však má dostatok presnoti k dispozícii, preto nestráca výkon. Pokiaľ sa ešte pozrieme na D32F filtrovanie (Depth32), nestráca R600 žiaden výkon na rozdiel od G80. Tento formát je vhodný pre takmer každé implementácie tieňov, okrem VSM.
Point sampling výsledku sú skoro totožné pre formáty, ktoré sme testovali:
Výkon ROPs:
Pozreli sme sa samozrejme aj na výkon ROPs. Testovali sme Color, Color + Z a Z-only fillrate v rozlíšení 1024x768. Vo výsledkoch vidieť dvojnásobnú Z-only fillrate pokiaľ je vypnutá Color. Takisto zobrazujú výsledky predpokladaný prepad fillrate so zapnutým 8xMSAA.
subz3ro
gabriel
epto
Pavol Bobik
MichiGen
koro
Ryko
glide
thimy
A2C
noben
cpy
teho
Dwarden
crux2005
mirke
Dwarden
crux2005