Mir: HDR + AA (MSAA@FP16) prostě NV40 a G70 nepodporovaly, ROPs tuto schopnost neměly. NV40 je z dnešního pohledu jako SM3.0 čip velice kompromisní řešení. Je to de-facto architektura vhodná pro SM2.0 doplněná o funkce vyžadované pro kompatibilitu se SM3.0. Ty jsou implementovány takovým způsobem, aby fungovaly, ale aby jejich implementace stála co nejméně z hlediska tranzistorů, takže fungují velice neefektivně (FP16 blending je pomalý a nefunguje s MSAA, protože je pro obojí sdílena stejný část hardwaru, dynamic branching přináší prakticky nulový výkon - NV40 měla fixní pipelines, takže už z tohoto hlediska na sebe vzájemně musely ALUs a TMUs čekat, čip sice podporoval FP16 filtraci, což bylo nad rámec DX9 standardu, jenže byla velmi pomalá - 4 až 8x pomalejší než běžná Int8 filtrace textur).
Texturing engine NV40 byl de-facto převzat z čipu 3Dfx Rampage. nVidia po NV30 potřebovala co nejrychleji přijít s něčím efektivnějším a jelikož měli málo času, stavěli na tom, co už bylo vyzkoumané. Jenže Rampage byl čip pro DX8, ne pro DX9 a ačkoli se architektura NV40 zdála být v době svého příchodu (kdy byly na trhu hry využívající SM1.x a částečně SM2.x) velmi efektivní, tak časem, po příchodu skutečných SM2.0 a SM3.0 titulů se ukázala jako nepříliš efektivní.
Použitý systém byl prezentován tak, že každá pipeline nesla texturovací jednotku a dvě ALUs pro pixel shading. Realita ale byla trochu jiná, primární PS ALU totiž ve skutečnosti byla jednotkou pro adresaci textur a pixel shading mohla provádět jen pokud se zrovna nemusela podílet na texturingu. V době krátce po vydání NV40 to ještě bylo výhodné, pixel shading se používal minimálně, a tak byl dostupný hardware využíván celkem efektivně. Ale v době G70 a obzvlášť G71 to byl velký průšvih, protože R5xx / X1000 měla jak samostatnou jednotku pro adresaci textur (tzn. její činnost nebrzdila pixel shading), tak měla texturovací jednotky a pixel shader ALUs oddělené, takže mohly pracovat zcela nezávisle a nečekat na sebe.
Problém tedy byl, když hra využívala intenzivně pixel shading a uživatel si zapnul anizotropní filtraci - při práci s texturou byla primární ALU blokována a navíc až když čip provedl daný pixel shader kód, mohla texturovací jednotka pokračovat v další práci. Proto měla G7x problémy s propady výkonu v nových hrách při AF, a proto nVidia musela v ovladačích očesat kvalitu anizotropní filtrace, aby čip zvládal pixel shading rychleji.
Oddělení texturingu od aritmetické části nVidia realizovala až na G80. Proto si všechny čipy od R520 a G80 mohly dovolit výrazně kvalitnější anizotropní filtraci, než starší produkty. V AF už jsou rozdíly minimální a co se výsledné kvality týče, tak více než na čipu záleží na konkrétní hře a nastavení ze strany vývojářů...




Odpověď s citací