Also DirectX geht meist Hand in Hand mit neuer Hardware. Meist legen die Hardwarehersteller etwas neues vor - und DirectX implementiert / verwurstet es gleichzeitig oder wenig später. Das war schon immer so.
Es ist genau anderst rum, zuerst definiert MS die Spezifikationen, die die Hardware haben muss um DX10 tauglich zu sein, und danach wird die Hardware an sich veröffentlicht.
Nach dem Hardware release vergeht noch sehr viel Zeit bis die ersten Spiele kommen, die davon profitieren.
z.B. das HDR (bzw. HDRR) - dies kann in etwas vereinfachter Form auch problemlos auf einer Shader 2.0 Karte (Radeon 9800 z.B.) dargestellt werden. Aber halt mit recht viel Rechenaufwand - und dann auch nur nicht perfekt bzw. gerade mal so hübsch daß man den Unterschied schwer erkennt. Nur machen sich halt die meisten Entwickler nicht die Mühe das für ältere Karten zu implementieren - weil es eben aufwendig ist und eventuell bei vielen Usern dann eh nicht sonderlich schnell läuft und eventuell deaktiviert wird.
Gutes Beispiel für "nicht optimieren" war z.B. HalfLife2 mit der FX5800/5900er GeForce bzw. generell der GeForce FX. Diese konnte nämlich Shaderoperationen in FP16 und FP32 Genauigkeit berechnen - wobei FP32 sehr langsam war. Und die Radeon 9xxx Karten konnten FP16 und FP24 - und beides ziemlich flott. Zwischen FP24 und FP32 sah man auch kaum einen Unterschied. Zwischen FP16 und FP24 aber schon. Tja - somit legten die von HalfLife2 sich auf FP24 fest. Das konnte die GeForce FX5900 z.B. nicht - und deshalb schaltete das Spiel zurück auf DirectX 8.1 Effekte.
Mit ein wenig Trickserei konnte man das Spiel aber dazu zwingen DX 9.0 zu aktivieren und den Radeon Renderpfad zu verwenden - aber die Karte in den FP16 Modus zu versetzen. Somit lief HalfLife2 mit allen Effekten und auch flott genug. Und wir sprechen hier aber von der selben Generation von Grafikkarten !
Die FX Serie von NV war was anders, da hat NV versucht was eigenes zu bauen. Deshalb waren sie auch unter DX9 nicht wirklich zu gebrauchen. Die Entwickler von HL2 haben sicher die DX8.1 only Sperre für die FX Serie nur schweren Herzens eingebaut, denn die Karte hatte trotzdem sehr viele Käufer gefunden, da sie unter DX8 gut schnell war. Aber die Performance unter DX9 hat einfach für HL2 nicht wirlich gut ausgereicht bzw. war nur in den obersten Modellen gut genug.
Wenn man jetzt eine DX9 Karte hat - und die Software auf Biegen & Brechen dazu zwingt einige DX10 Effekte / Funktionen auf dieser DX9 Karte hinzubekommen würde es größtenteils klappen. Vielleicht sieht es teils nicht ganz so gut aus bzw. müsste man eben etwas die Qualität / Komplexität der Effekte runterschrauben damit es halbwegs flüssig rennt - aber es würde sicherlich teilweise gehen.
Nur macht sich da eben kaum einer die Mühe.
Noch mal, einen gleichaussehenden Effekt mit verschiedenen Softwareschnittstellen darstellen zu lassen ist prinzipiell Möglich. Die Performance wird aber ohne diese Hardwarebeschläunigung extrem schwach sein. Daher schraubt man wie du sagt für solche zwischen Lösungen die Qualli runter. Und da denken halt viele Leute, DX10 (als Beispiel) sehe besser aus als DX9, was so nicht ganz stimmt. Man kann halt einfach nur gleiche Effekte bei weniger Rechenaufwand, oder halt mehr Effekte bei gleicher Rechenaufwand darstellen
Also glaube ich auch nicht daß sich da irgendwer große Mühe geben wird DX10 auf DX9 Karten darzustellen.
Ein paar Spieleentwickler werden sicher auf DX9 optimieren und DX10 Effekte einbinden wenn sie unterstützt werden. (Wurde hier ja auch schon erwähnt)
Reine DX10 Spiele werden dann auf DX9 nicht mehr besonders toll aussehen bzw. eventuell auch nicht sonderlich gut laufen.
Rein von der logischen Seite betrachtet hast du recht, nur wird sich kein Game Hersteller erlauben, einfach mal so potentielle Kunden mit XP oder nur mit ner DX9 Karte hinten runterfallen zu lassen. Sprich es wird anfangs so sein, das erst Games mit DX9 Unterbau + DX10 Zusatzeffekten kommen werden. Wo halt bei XP oder nur ner DX9 Karte einfach der DX10 Part wegfällt.
Anderst rum, also DX10 only Games würden sich am Anfang wohl nur sehr schlecht verkaufen. Da bräuchte man wieder nen DX9 fallback Modus. Welcher entweder total mies läuft, oder total mistig aussieht. So oder so wird das nicht gehn. Bleibt also nur Methode 1.
Zu beobachten auch gut in der Vergangenheit. Man schaue an wie lange SM3 Karten schon auf dem Markt sind und man schaue an wann das erste SM3 only Game gekommen ist (SC: DA bzw. RS: V)
Hierbei ist der Sprung nur von SM2.0b zu SM3 gewesen. Ein Sprung von DX9 zu DX10 ist da noch ne größenordnung größer, weil noch mehr hinten runter fällt.
Mich würde auch viel mehr interessieren warum DX10 nicht auf DX10 Hardware unter XP möglich ist. Laut M$ ist das DX10 tief in Vista verankert und man müsste sehr viel im XP ändern / aktualisieren damit das da auch geht (Also eventuell auch Kernel Änderungen) wodurch man praktisch ein Vista / XP Gemisch erhalten würde.
In einem Interview hat da einer von M$ somit zugegeben daß es Ihnen die Mühe nicht wert ist - und man sich stattdessen Vista installieren sollte.
Bin schon gespannt ob an den Gerüchten was dran ist daß da einer dran arbeitet um DX10 zu hacken und unter XP lauffähig bekommt.
Du hast dir doch hiermit deine Frage schon selbst beantwortet. MS müsste den Kernal von XP so umstricken das DX10 läuft, und somit hätten sie ein XP mit Vista Kernal (Sinngemäß)
Das liegt sicher auch daran das MS gar nicht will, das DX10 auf XP läuft, denn dann hätten die sicher DX10 so bauen können, das es ohne große Updates auf beiden OS'en lauffähig wäre. Aber wie gesagt, MS will auch nur verkaufen, von daher, es würde jeder normale Mensch in MS Position genau so machen
OPEN GL 3 soll dx 10 effekte bieten ohne zwingend vista kaufen zu müssen
Das bleibt abzuwarten ob und wie das geht. Ich denke MS wird sich das auch so einfach nicht gefallen lassen, ich sag nur Patente usw.
So einfach wird das auch nicht realisierbar sein, denn sonst müsste OpenGL3 nen Emulator für DX10 mitbringen. Was wiederum auch zu erheblichen Performance einbußen kommt. Aber mal abwarten.
Ich kann mir eher vorstellen das mit OpenGL bei gleichem Rechenaufwand die gleichen Effekte darstellbar sein, nur müssen halt die Games anstatt DX auf OpenGL setzen.