Een intressante weergave die ik voor een deel steun Boushh, maar <--- wat je zegt klopt niet gans. DX9 is een standaard. De implementasie van DX9 op ati & nvidia hun kaarten is dezelfde.
Het verschil begint wanneer de hardware de instructie's uitvoert. Ten tijden van de NV30 / NV 35 was de grote fout niet de code zelf van nvidia, maar het feit dat de NV30/35 enorm slecht presteerde op gebied van PS 2.0. De kaart was designed rond een PS 1.4 design ( wat ook duidelijk was in de resultaten in benchmarks waar de NV30/35 vrij goede score's neezetten ).
Het redesign werk dat de game developers hadden was niet het aanpassen van de PS 2.0 om juister te werken op de NV30/35, maar het toepassen van PS 1.4 om zware instructie's beter te doen lopen.
Nvidia hun PS 2.0 implementasie was correct. Het design van de kaart was gewoon mis, waardoor PS 2.0 niet op zijn recht kwam.
Nu zitten we met een omgekeerde wereld. Ja, ATI zou met moeite een PS 3.0 kaart kunnen maken hebben. Maar, dan kom je in problemen ... Zal hun PS 2.0 nog goed kunnen werken ( want PS 3.0 hardware design is anders dan PS 2.0 ). Dan komt nog het feit, zouden ze op een mixed hardware design ( gebasseerde op de R300/R350/R360 ) wel een deftige speed kunnen neerzetten. ATI heeft gemakkelijkshalven het antwoord al gegeven. Nee ... ze konden geen deftige speed geven, want anders zouden ze wel PS 3.0 gereleased hebben.
Het was voor hun een enorme gok. Verder werken aan een werkend PS 2.0 design & het verbeteren of werken aan het hybriede die mogelijk in hun gezicht kon onploffen remember, het duurt 2 jaar voor een GPU te ontwikkelen ). We zien dezelfde probleem nu met Intel & hun Prescot design, waar ze met de handen in het haar zitten wegens de problemen.
Maar je moet ATI ook niet aanzien als een totaal verliezer op gebied van PS 3.0. Iets dat mensen vergeten, dat ATI hun PS 2.0 + noemt, en daar is een grondig reden voor. Die + geeft aan dat men een aantal functie van PS 3.0 geimplementeerd heeft, enkel de paar grote ( en die dat een andere architectuur nodig hebben zoals dynamic branching), deze zijn niet aanwezig.
Als ik me herinder van de discussie's van enkel programmeurs, was het verschil vooral 3 of 4 grote functie's die ATI niet had. Het is toevallig dat nvidia juist 1 van die grote functie's niet aanraad omdat ze zelf geen deftig speed kunnen halen. Ik dacht dat Nvidia een latency van 2 kreeg / instructie, ipv een 1 die men heeft in PS 2.0. En pas als men zeer lange instructie's had, kon men dat verschil terugkrijgen voor een deel.
Dit is een belangrijk feit, dat zelf nvidia bepaalde zaken niet aanraad te programmeren in PS 3.0 omdat hun hardware een meer negative hit veroorzaakt dan met PS 2.0.
Het maximum dat je zal zien tot volgende jaar zullen mixed mode game's zijn. Programmeurs zullen PS 2.0 combineren met een paar functie's van PS 3.0, maar dat zal het zijn. ATI zelf zal draaien op PS 2.0 functie's.
Het gevaar dat Nvidia puur haar eigen instructie gaat implementeren is er infeiten niet, sinds deze voldoen aan de DX 9 specs.
Ik kan je een perfect voorbeeld geven, dat programmeurs hun eigen zin zetten op wat beschikbaar is tijdens hun development cycle. Onze Doom III ( Carmack ) specialist, was orgineel op de ATI's aan het developen geweest, maar is dan pas met de NV35 geswitched. Maar hij had wel een hoop verschillende code path's gemaakt ( 1 voor de ATI ( default ABR als ik me juist herinder ) & een speciaal voor de nv_30 path ) & nog een paar.
Zelf al beginnen developers nu met de NV 40's haar PS 3.0 te implementeren, zodra volgende jaar de next generatsie uit is, zullen developers al hun software aan het aanpassen zijn ( alle, dit is niet 100% correct, want in generaal krijgen developers de kaarten sneller dan het gewoon publiek

).
Moest PS 3.0 echt zo een grote jump geweest zijn, dan zou ik ook effe panikeren, maar met wat ik allemaal gezien heb in de forum's, is PS 3.0 infeiten een te grote naam. Men had het beter PS 2.5 ofzo genoemt kunnen hebben. Het is niet zo een jump om schrik van te krijgen op gebied van support
Edit:
Als je wilt meer weten, raad ik je
www.beyond3d.com aan. Het forum zit vol met programmeurs die constant in discussie gaan ( nee, geen flaming discussie's zoals rage3d, nvnews etc ) over de hardware, implementatsie's etc. Dat is een uitstekend plaats om zaken bij te leren, en daar ondek je ook dat PS 3.0 niet alles.