Grafikkarten und Monitore 26.150 Themen, 115.656 Beiträge

Was bringt mir DirectX

roni / 7 Antworten / Flachansicht Nickles

Ich habe eine etwas betagtere Grafikkarte, ATI 7500. Unterstützt vermutlich DirectX 7 oder weniger. Wenn ich jetzt DirectX 9.0 installiere, habe ich dann eher Nachteile oder kann ich davon ebenfalls profitieren? Beziehen sich alle DirektX Befehle ausschliesslich auf die Grafikkarte? Ich nehme einmal an, dass DirectX 9.0 abwärts kompatibel ist.

Gruss roni

bei Antwort benachrichtigen
pco roni „Was bringt mir DirectX“
Optionen

Hier nun meine Antwort:

Wozu brauch ich DirectX9?
1. Um DirectX9-Spiele zu nutzen (die es derzeit noch nicht gibt)
2. Um den angeblich gemessenen Geschwindikeitsvorteil zu geniessen
3. Meistens sind einige Bugs aus der Vorversion beseitigt.

Was passiert wenn ich nur eine DirectX7-Karte habe und DirectX9 installiere?
1. Nichts. Dx9 lässt sich installieren - finito.
2. DirectX9 ist abwärtskompatibel, Deine Karte aber nicht aufwärts.
Anders: Es kann sein dass irgendwann in 2 Jahren Spiele erscheinen, die einen Dx9-Effekt verlangen, den Deine Karte nicht kann. Wenn man dann diesen Effekt nicht abstellen kann (doch meistens kann man das), hast Du verloren.

Wie sieht es mit DirectX7-Spielen aus?
Die laufen!

Wie sieht es mit DirectX9-Spielen aus?
Gibts noch keine, kann aber gut sein, dass sie trotzdem laufe, sie setzen nur DirectX9 als Schnittstelle voraus.

Was passiert mit den Effekten, die nicht unterstüzt werden?
Würde Deiner Karte ein Effekt fehlen, wie bspw. Advanced-Pixel-Shader (der fehlt) und das Spiel braucht diesen dringend:
1. Der Programmierer hat einen Workaround vorgesehen und das Spiel läuft trotzdem
2. DirectX9 sieht eine Software-Emulation vor (Bei Pixel-Shadern leider nicht möglich).
3. Das Spiel kann nicht ohne, es wird nicht laufen!

Zu "roni"

Was würde passieren, wenn ich DirectX1 benutzen würde?
1. Das System würde laufend abschmieren, denn bis Version 3.0a war DirectX unglaublich Bugverseucht.
2. Spiele, welche die Effekte von DirectX>Version1 bedingen würden nicht laufen, da diese von der Schnittstelle nicht unterstüzt werden.
3. Deine Grafikkarte, welche Effekte der Version 7 beherrscht würde nicht ausgenutzt, wahrscheinlich nicht einmal unterstützt (denn die gabs damals nich nicht)

Um zu verstehen wie das zusammenhängt:
Als 1996 Dx erstmals erschien, gab es keine Einheitliche 3d-Schnittstelle, ausser OpenGL (die konkurrenz!).
Bedeutet: Jeder 3d-Kartenhersteller hatte tolle neue Effekte und weil jeder dachte er erfindet das Rad neu, hat jeder eine eigene "Sprache" dafür verwendet.
Damals musste jedes Spiel "wissen" wie es mit jeder Karte kommunizieren muss.
Praktisch wäre ein "Dollmetscher" gewesen. Einer der sich zwischen 3d-Anwendung und Grafikkartentreiber stellt und übersetzt.
Das macht DirectX.
Dann müssen die Hersteller ihrem Treiber nur noch DirectX-Sprache beibringen, ebenso die Programmierer von Spielen.
Dx steht dazwischen und "übersetzt".
So wird es möglich mit nur einem Befehl im Spiel einen Effekt auszulösen.
Es kommen immer neue Effekte hinzu, also braucht DirectX auch neue Befehle um diese zu steuern.
Ergo: neue Dx-Versionen erscheinen!

Aber warum ist dann jede Version schneller?

1. Weil MS am Anfang viel Müll in Dx reingeschrieben hat und den Code nur nach und nach optimiert bekommt.
2. Weil viele "alte" Effekte sich auf modernen Grafikkarten auf anderen Wegen realisieren lassen, als das noch vor Jahren möglich war.
Bsp: T&L-Emulation über APS2.0.

Puh

PCO

bei Antwort benachrichtigen