Windows 7: Direct3D 10.1 für alle
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.
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:
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 |
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.