Windows 7: Direct3D 10.1 für alle

Parwez Farsan
72 Kommentare

Ohne teils deutliche Performance-Einbußen wird es nicht funktionieren, doch grundsätzlich wird man unter Windows 7 mit DirectX-9-Hardware oder selbst komplett ohne Hardwarebeschleunigung Direct3D-10.1-Software praktisch ohne Funktionseinschränkungen nutzen können. Möglich wird dies durch „10Level9“ respektive „WARP 10“.

Abhängig von der vorhandenen Grafikhardware nutzt die Direct3D 10 Runtime unter Windows 7 den normalen Direct3D-10-Treiber (DirectX-10-Hardware oder neuer), den Direct3D-10Level9-Treiber (D3D10L9; DirectX-9-Hardware) oder den Direct3D-WARP-10-Softwarerasterizer (Windows Advanced Rasterization Platform; in allen anderen Fällen) zur Berechnung der Grafikdaten. Die größten Einbußen hinsichtlich der Performance sind dabei natürlich komplett ohne Hardwarebeschleunigung hinzunehmen, da die CPU neben den ihr ohnehin zugeteilten Berechnungen nun auch noch die Berechnungen ausführen muss, die eigentlich der Grafikkarte obliegen.

Direct3D WARP 10
Direct3D WARP 10

Doch selbst dann sind noch Anti-Aliasing bis hin zu 8xMSAA und anisotrope Filterung möglich. Zwar kann es beim Einsatz von WARP 10 zu kleinen Abweichungen bei der Darstellung des Bildes kommen, diese sollen sich jedoch innerhalb der Spezifikationen von DirectX 10 bewegen. Wie „flüssig“ Anwendungen dann noch laufen, lässt sich anhand einiger Benchmarks des Direct3D-10-Pfades des Hardwarefressers Crysis mit WARP 10 im Vergleich mit der normalen Berechnung durch Grafikkarten sehen, die Microsoft im MSDN-Artikel zu WARP 10 sogleich als Beispiel mitliefert:

WARP 10, Crysis Direct3D 10 @ 800x600, alle Qualitätseinstellungen auf niedrigster Stufe
CPU Time Ave FPS Min FPS Min Frame Max FPS Max Frame
Core i7 8 Core @ 3.0GHz 271,57 7,36 3,46 1.966 15,01 995
Penryn 4 Core @ 3.0GHz 351,35 5,69 2,49 1.967 10,95 980
Penryn 2 Core @ 3.0GHz 573,98 3,48 1,35 1.964 6,61 988
Core 2 Duo @ 2.6GHz 707,19 2,83 0,81 1.959 5,18 982
Core 2 Duo @ 2.4GHz 763,25 2,62 0,76 1.964 4,7 984
Core 2 Duo @ 2.1GHz 908,87 2,20 0,64 1.965 3,72 986
Xeon 8 Core @ 2.0GHz 424,04 4,72 1,84 1.967 9,56 988
AMD FX74 4 Core @ 3.0GHz 583,12 3,43 1,41 1.967 5,78 986
Phenom 9550 4 Core @ 2.2GHz 664,69 3,01 0,53 1.959 5,46 987
Crysis Direct3D 10 @ 800x600, alle Qualitätseinstellungen auf niedrigster Stufe
Graphics Card Time Ave FPS Min FPS Min Frame Max FPS Max Frame
nVidia 8800 GTS 23,58 84,80 60,78 1.957 130,83 1.022
nVidia 8500 GT 47,63 41,99 25,67 1.986 72,57 991
nVidia Quadro 290 67,16 29,78 18,19 1.969 49.87 1.017
nVidia 8400 GS 59,01 33,89 21,22 1.962 51,82 1.021
ATi 3400 53,79 37,18 22,97 618 59,77 1.021
ATi 3200 67,19 29,77 18,91 1.963 45,74 980
ATi 2400 Pro 67,04 29,83 17,97 606 45,91 987
Intel DX10 Integrated 386,94 5,17 1,74 1.974 16,22 995

Wie man sieht, ist speziell unter WARP 10 an ein flüssiges Bild gar nicht zu denken. Doch darum geht es den Entwicklern bei Microsoft auch gar nicht, zumal Einsteigerkarten mit DirectX-10-Unterstützung bereits für wenige Euro erhältlich sind. Vielmehr war es das Ziel von WARP 10, den Anwendungen zu erlauben, auf Direct3D-10-Hardware abzuzielen, ohne dass dabei große Unterschiede in den Codepfaden oder Testvoraussetzungen für die Berechnung durch Hardware oder Softwaremodus nötig wären. Microsoft definiert die sechs Hauptprioritäten von WARP 10 denn auch wie folgt:

  • Anwendungen sollen möglichst unabhängig von der Grafikhardware immer gleich aussehen
  • maßgeschneiderte Softwarerasterizer sollen überflüssig werden
  • die vorhandene Hardware soll die best mögliche Leistung bringen
  • Direct3D 10 ermöglichen wenn entsprechende Hardware aus irgend einem Grund nicht verfügbar ist
  • vorhandene Ressourcen zum Softwarerendern effektiv nutzen
  • Szenarien ermöglichen, die keine Grafikhardware benötigen

Den Entwicklern soll also das Leben leichter gemacht werden. Nichts desto trotz könnte WARP 10 bei weniger anspruchsvollen Anwendungen natürlich auch im Alltag der Nutzer eine brauchbare Leistung erbringen, z. B. in einfacheren Spielen oder bei professionellen Anwendungen, die nicht unbedingt die schnellste Grafikkarte benötigen.

Inwieweit die alten DirectX-9-Grafikkarten bei Erscheinen von Windows 7 unter Berücksichtigung der Performance-Einbußen noch für dann aktuelle Spiele unter D3D10 ausreichen, wird sich allerdings erst noch zeigen müssen. Die Performance von WARP 10 soll bis zum Erscheinen von Windows 7 jeweils noch merklich steigen.