upozornění: čtěte jen, pokud vás zajímá některé z těchto témat: zrušená G100 a GT212, důvody absence podpory DX10.1 u nVidie, přínosy DX11, škrty v DX10
Ad GT200 - nebyla vyvíjená zároveň, nová generace s následnou půlgenerací se zároveň nevyvíjejí. Teorií je hodně, ale co je podložené je fakt, že nVidia ohlásila GP-GPU dokumentaci k produktu, který slíbila na konec roku 2007. A G92 ani GT200 zmíněný feature-set nemají
Zajímavý je i názor, že G100 měla být o něco výkonnější než GT200, byla údajně projektovaná na 55nm proces, který měl oproti původním plánům velmi výrazné zpoždění, takže místo ní nVidia připravila GT200 na 65nm proces. I tak měla zpoždění (že to nevadilo, je druhá věc
)
Každopádně nVidia měla v roadmapě pro konec roku 2007 high-end produkt, který ale nemohla vydat, takže šla jako "high-end" ven G92, která původně měla být jen vyšší mainstream. Že G92 nebyla nástupcem G80 je patrné už z faktu, že při vyšším rozlišení a FSAA byla pomalejší. nVidia měla štěstí, že ATi vydala jen RV670 (narychlo zmenšená R600 s upravenými samplery pro DX10.1, Hartogův tým tehdy pracoval na RV770, Demersův zřejmě na R8xx), zatímco ATi měla štěstí, že nVidia nevydala nic víc než G92, proti které nepůsobila RV670 jako výsměch.
Ono se dost proslýchalo, že dokud se nVidia nedozvěděla o skutečném výkonu a problémech R600, tak se toho čipu a jeho derivátů hodně obávala. Je to vidět i na produktech, které proti ní nVidia chystala - G80 byl několikanásobně větší než G71, byl to vůbec největší čip, který do té doby vyšel, GT200 to ještě o dalších 100mm² překonal, přičemž G100 měl být ještě větší (počtem tranzistorů, ne na plochu).
Ad DX11 - DX11 není jen o grafice. Ale pokud vezmu záležitosti kolem grafiky, tak první přínos je, že integruje to, co přineslo DX10.1, tzn. dotažení blbostí a nedomyšleností DX10. Tzn. ty nárůsty výkonu (případně kvality alpha textur), které byly prezentované v pár recenzích na DX10.1 hrách, se budou týkat i DX11. Pokud nVidia nebude mít se svými DX11 produkty extrémní zpoždění, tak se tyhle výhody rychle projeví - DX11 (stejně jako DX10.1) bylo vyvíjeno s ohledem na snadné přeportování DX10 her. Microsoft si byl vědom, že DX10 mělo mouchy, které bude z hlediska vývojářů možné díky DX11 snadno zaplácnout i jednoduchým patchem.
Pokud se vrátím k DX10.1, je jeho podpora-nepodpora z hlediska nVidie další ukázkou toho, že po G80 toho už moc nešlo podle plánů. Už v dokumentaci G80 bylo uvedeno, že SPs byly navržené s ohledem na DX10.1, takže nVidia s podporou DX10.1 počítala už tehdy. Zřejmě ji měla přinést právě nevydaná G100. Tak nVidia zůstala u architektury G80 (komu by vadila absence podpory DX10.1, když žádné takové hry nebyly a ATi byla mezi životem a smrtí) a podporu naplánovala na 40nm refresh. Z tehdejšího hlediska to dávalo smysl. Po65nm GT200/G92 by byly vydané 40nm DX10.1 čipy a kdyby měl proces zpoždění, zaplácl by se mezičas jednoduchým optickým shrinkem, se kterým konfigurace 65nm GT200 i G92 počítala. Stačí si všimnout, že oba čipy po zmenšení na 55nm jsou stále dost velké na to, aby mohly nést původní sběrnici v celé její šířce.
Problém byl v tom, že 40nm proces měl snad historicky ze všech procesů vůbec největší zpoždění a i po spuštění produkce následovala půlroční nepoužitelnost, což samozřejmě nemohl nikdo tušit. Proto nVidia, resp. její marketingové oddělení, muselo podporu DX10.1 po takovou dobu ignorovat. Oni ho chtěli, plánovali, ale prostě nemohli... Opět viz roadmapa - podle původních plánů měla 65nm GT200 nahradit na přelomu roku 2008/2009 40nm DX10.1 kompatibilní GT212.
Protože nVidia neměla DX10.1 hardware, tak se tudíž do jeho propagace nehrnula, a proto je jen minimum her, které existují i v DX10.1 verzi. Těžko říct, do jaké míry bude nVidia propagovat DX11, když zřejmě nebude první, kdo s ním přijde, ale tak jako tak, DX11 bude podporovat hardware obou výrobců, takže vývojáři budou mít důvod využít alespoň těch vylepšení, co přišly v DX10.1.
Novinky v DX11 budou compute shadery, tzn. možnost využít GP-GPU možností a to i pro hru, takže pokud vývojář bude mít zájem, bude mít možnost sám využít grafickou kartu pro nějakou jednodušší fyziku, AI, složitější post-processing efekty a podobně. Pak tam bude tesselace - tentokrát konečně povinná - to sice měla být už v DX10, ale z jistých důvodů ten požadavek byl vyškrtnut. A s tesselací související domain shader a hull shader.
Další drobný - ale velmi příjemný - a to i pro majitele staršího hardwaru(!!!) bude podpora pro multi-threading. Půjde o rozdělení na tři oddělené stages, které mohou běžet na různých jádrech procesoru, takže konečně i samotné DX bude schopno efektivněji využívat vícejádrové procesory.
A nakonec to budou nové formáty pro kompresi textur nadesignované především pro HDR formáty, které se doteď používaly téměř výhradně v nekomprimované podobě, takže to žralo paměť a přenosovou kapacitu sběrnice. To by mělo přispět k většímu rozšíření kvalitnějších forem HDR renderingu, protože to nebude až takový žrout výkonu, jako dosud.
Četl jsem i zmínky o přísnějších požadavcích na podporu filtrace textur, ale zatím nevím, jestli to opět nebylo vyškrtnuté ze seznamu požadavků. Stejně jako tesselator to mělo být vyžadováno už v DX10 - možná si vzpomenete, jak v době DX9 bylo zmiňováno, že DX10 bude mít definované požadavky na kvalitu filtrace a nebude tak možné ze strany výrobců hardwaru cheatovat pro dosažení vyššího výkonu. To se nikdy nestalo. Netuším, z jakého důvodu, ale když se podíváte na texturovací jednotku G80 i R600, tak je vidět, že se na to oba výrobci připravovali. Jak po stránce kvality (kvalita šla nahoru u obou, podpora filtrace bez úhlových optimalizací s trilineárním základem), nVidia kladla ještě důraz na výkon při anizotropní/trilineární filtraci, ATi kladla důraz na FP16 filtraci bez ztráty výkonu a vlastně veškerou filtraci textur R600 prováděla v FP16, i když to nebylo nutné. Možná Microsoft sám uznal, že když nebyl schopen specifikace uzavřít dřív, než začal vývoj čipů a každý výrobce šel jiným směrem, tak nemá smysl řešit, co z toho do specifikací zahrne a vyškrtnul to sám. Proto taky následné čipy (G92, GT200, RV770) měly texturovací jednotky výrazně okleštěné oproti G80 a R600.
Objevily se ale spekulace, že v rámci DX11 nějaké požadavky na filtraci budou, takže existuje možnost, že výrobci budou nuceni vrátit se opět k velkým texturovacím jednotkám, což by mohl být důvod, proč implementace DX11 bude poměrně citelně zvyšovat plochu čipu. Potvrzené to zatím není.
Shrnu-li to - DX11 (ale stejně jako DX10.1) tu není od toho, aby to přineslo samo o sobě nějaké "hezčí hry". To je věc vývojáře. Už se SM2.0 se dá vytvořit prakticky cokoli, jen záleží na dostupném výkonu. A novější verze DX by měly řešit hlavně to, aby ty efekty, které vývojář použije, žraly toho výkonu méně. Ne vždycky se to povedlo optimálně - buďto proto, že danou verzi DX podporoval je jeden výrobce, nebo proto, že podporu odfláknul a ty možné přínosy se nemohly projevit, nebo proto, že to Microsoft zvoral, ale DX11 vypadá pozitivně. Zatím slyším jen samé superlativy, půjde do toho ATi i nVidia, takže si myslím, že tam skutečné zefektivnění bude a ochutnávka v podobě DX10.1 je toho docela příjemným důkazem.
V Crysis se DX10 používá jen na vylepšený motion blur využívající geometry shader, jinak nic. Samotná prostředí v sobě z DX10 nemají vůbec nic, takže ten motion blur se týká ještě jen paňáčků... Takže DX10 opravdu jen "aby se neřeklo" a aby to dělalo hře reklamu.