So liebe Leute,
da es einige Leute immer noch nicht begreifen wollen noch einmal etwas verständlicher:
Direct X 10 bietet keinerlei Dinge, die man nicht auch mit anderen API´s darstellen könnte.
Die Spieleindustrie zieht allerdings einen erheblichen Vorteil daraus, auf die inzwischen ausgereiften APIs wie DirectX9/10 zurückzugreifen.
Direct 3D kann man sich als eine Schnittstelle vorstellen, die dafür sorgt, dass man mit einfachen Befehlen, komplexe und standadisierte Routinen zur Grafikdarstellung anstossen kann, ohne auf den Hardwareunterbau achten zu müssen.
So ist es z.B. möglich, mit einem Programmcode, der nur 64kb Speicher fasst (das ist weniger speicher, als ein komplett leeres Word Dokument auf der Festplatte belegt), durch Zugriff auf die Directx Funktionen Grafisch komplexe Dinge abzubilden. Von dieser Technik wird bei den berühmten 64K Demos ausfürhlich gebrauch gemacht.
Direct 3D übernimmt also für die Spieleprogrammierer sozusagen die Darstellungsengine.
Nun ist es so, dass DirectX9 in die Jahre gekommen ist und man allmählich an die Grenzen des Detailgrades gestossen ist.
Diejenigen, die sich wirklich mit dem Thema auseinandersetzen wollen, können sich folgenden Artikel (Englisch) zu Gemüte führen. Er stellt in einfacher Weise dar, warum die Performance von DirectX 10 höher ist, und warum die veraltete XP Kommunikationsarchitektur dafür nicht taugt, sondern eine komplett neue erstellt werden musste.
Diese ist aufgrund der engeren und notwendigen Verflechtung des BS nicht mit XP kompatibel.
Hier der Artikel:
http://enthusiast.hardocp.com/articleprint.html?art=MTA0NQ==
In Rohzahlen ausgedrückt, ist bei komplexen Szenen ein theoretische Performancegewinn von minimum 50% drin. Allein schon wegen der Reduzierung der DirectX 9 small batch cpu overhead Problematik.
Das bedeutet für den Spieler eine um 50% komplexere Szene, ohne Performanceverlust.
Zudem wurden über die DirectX 10 Architectur zusätzliche Funktionen auf die GPU ausgelagert. Eine Auslagerungsfunktion hätte bei DirectX9 keinen Sinn mehr, da die API sowieso schon an ihrem Overhead erstickt- es wird also nicht mehr schneller.
Dies ist wiederum eine sehr vereinfachte Darstellung der Sachverhalte. Tiefgehendere Diskussionen bitte per PM.
Microsoft wird auch sicher niemandem den Gefallen tun, die komplette Archtiektur von Windows XP umzukrempeln, nur um ein Direct X 10 möglich zu machen.
Dazu müssten sie nämlich die Basisarchtiektur des BS ändern, damit sie auf dieselben Abstraktionsschichten, wie in Vista integriert, zugreifen könnten.
Eine kleine Nebeninfo:
Ich bin nicht gesponsort und kein Hardware-/OS/- oder sonstwas Jünger.
Ich hab des öfteren mit der DirectX9/10 Schnittstelle zu tun und beziehe mein Wissen also auch aus Praxiserfahrung.
Ich benutze Linux+Derivate, MS Windows Derivate, Mac Panther, Tiger und sonstige....
Alle System haben ihre goodies, aber auch Nachteile.
Ich habe mich bis vor einiger Zeit nicht für Windows Vista interessiert, da meine Windows XP installation tat, was sie soll.
Ich war beruflich dazu gezwungen auf Vista umzusteigen und arbeite derzeit auf einem Vista 64Bit System, welches allen Unkenrufen zum Trotz einwandfrei funktioniert.
Natürlich schluckt es mehr Ressourcen, aber bis jetzt konnte ich nicht feststellen, dass der Speicher im Übermaß sinnlos verbraten wird.
Man kann und soll die Innovation nicht aufhalten, nur weil man seine Investition in Hardware/Software schützen will.
So ist das mit den Computern nunmal.
Die Zukunft gehört 64Bit Betriebssystemen inkl. Direct X 10 aufwärts bzw. der neuen OpenGL API.
Niemand wird gezwungen auf den Zug der Innovation aufzusteigen, außer derjenige, der die Vorteile davon nutzen will.
Will ich also Crysis in voller Detailstufe, so ist dies nur mit Vista+Directx10+Entsprechender Grafikkarte möglich.
Will ich es nicht, dann kaufe ich es nicht, oder geb mich mit weniger zufrieden.
Sowohl Crytec als auch die User hätten keinen Nutzen von einem DirectX 10 Emuationsmodus für DirectX9 User, da die Performance zwangsweise unterirdsich sein MUSS.
Just my 2 cent