Ein paar Fragen zu DirectX

I30R6

Komplett-PC-Aufrüster(in)
Hi,


Ich habe ein paar Fragen zu DirectX. Vorab erstmal ob mein aktuell dürftiges Wissen darüber in etwa richtig ist...

Es handelt sich bei DirectX umd eine API (Programmierschnitstelle) zur Verbindung von Grafikkarten und Grafikanwendungen (Software) die von dieser Grafikkarte genutzt werden sollen.

Ich habe jetzt grob sowas wie ne art Treibersoftware im Kopf, welche die Kommunikation der Software, wie einem PC Spiel, zu der Hardware (Grafikkarte) ermöglicht.


Jetzt ist mir aber unklar, ob auf Grafikkarten entsprechende Hardwarekomponenten vorhanden sein müssen, damit DirectX daran angebunden werden kann, bzw die Verbindung herstellen kann.

Ob DirectX generell nur auf Windows funktioniert, weil es für dieses OS programmiert wurde. Bzw. noch auf anderen Microsoftsystemen wie Xbox.

Woher ich weiß welches PC Spiel welche Version von DirectX benötigt und ob man ältere Spiele auf neueren, oder neuere Spiele mit älteren Versionen von DirectX spielen kann. Also inwiefern DirectX auf oder abwärtskompatibel ist.

Gerade letztes ist mir Wichtig. Sind alle neuen Spiele nur auf DirectX 12 ausgelegt oder kann ich diese auch mit DirectX 11 spielen?



Hoffe jemand kann mir kurz etwas Nachhilfe geben.


Danke und freundliche Grüße
I30R6
 
Der Wikipedia Artikel dazu fasst es ganz gut zusammen. Spring direkt zu "Aufbau von DirectX" bzw. "DirectX Graphics"
 
Sind alle neuen Spiele nur auf DirectX 12 ausgelegt oder kann ich diese auch mit DirectX 11 spielen?
Hoffe jemand kann mir kurz etwas Nachhilfe geben.

Schau Dir doch mal alle "neuen" Spiele an, und wieviel davon tatsächlich einen DX12_Only-Renderpfad bieten.
Mich würde wundern, wenn Du auch nur eins findest.
Die Publisher wollen Geld verdienen und keine Techdemos abliefern.
 
sind dieses Jahr die ersten mit guter dx 12 Umsetzung, in der regel habe die meisten Spiele aber auch dx 11, weil man sonst Windows 10 pflicht hat. Wolfenstein 2 ist das erste Spiel only Vulkan und kann auch bei windows 7 usw genutzt werden. Grafikkarten für dx12 und vulkan gehen bei nvidia bei der 600er reihe los und bei amd bei der HD reihe (also schon alte Grafikkarten)

@HisN ich glaube alles was über windows store kommt wird only dx12 haben, siehe forza
 
Software -> API -> Treiber -> Hardware. Wobei letztere in der Regel eine vom Hardwarehersteller angebotene Einheit darstellen, die API sitzt also in der Mitte.
Software und Hardware müssen der Schnittstelle entsprechen, wenn sie darüber kompatibel sein sollen. Bei Hardware geht das zwar auch über zusätzliche Software, wie eben dem Treiber, aber auf Kosten der Leistung, weil im Endeffekt eine Hardwarefunktion durch mehrere andere umgesetzt (emuliert) wird. Man versucht deshalb anspruchsvollere API-Features so gut wie möglich im Hardwaredesign zu integrieren, damit sie performant laufen.

Welche Version er nutzt bzw. unterstützt, kann jeder Hersteller/Entwickler prinzipiell selbst entscheiden, wird aber natürlich vom Markt bestimmt.
DER Standard ist aktuell DX11 und wird es wohl noch einige Zeit bleiben, weil es funktioniert und alle Funktionen bietet, um moderne Spiele zu coden.
 
Zuletzt bearbeitet:
Ok die Liste ist ganz hilfreich bei der Frage welche Spiele X12 only sind.

PC-Spiele mit DirectX 12 & Win10-Exklusivitat: Games-Liste aktualisiert

Der Wikipedia Artikel zum Thema hat auch einige meiner Fragen beantwortet.
Genügend begreifen tue ich das aber trotzdem noch nicht, daher hier jetzt noch meine Hauptfrage:

Wenn Spiele entwickelt werden, müssen die bei der Entwicklung von vornherein auf DirectX ausgelegt sein, eventuell auch auf eine bestimmte Version? Also kommt die DirectX SDK bei der Entwicklung eines Spiels zum Einsatz oder kann jedes Spiel DirectX nutzen, solange es über eine Sprache programmiert ist für die DirectX kompatibel ist und diese entsprechend für die Hardware übersetzen kann?

Ich habe folgendes Problem... Die Rippersoftware die ich nutze funktioniert nur bei Spielen, die mit DirectX 11 laufen. Da ich bislang noch nicht wirklich verstanden habe was DirectX ist, bin ich mir nicht sicher, ob mit der Aussage gemeint ist, das die Spiele alle lediglich DirectX 11 abwärtskompatibel sein müssen, sprich... auch mit einer DirectX 11 installation in Windows laufen können, oder ob diese in irgendeiner Form extra für oder mit DirectX 11 entwickelt sein müssen.

----Nachtrag:----

Welche Version er nutzt bzw. unterstützt, kann jeder Hersteller/Entwickler prinzipiell selbst entscheiden, wird aber natürlich vom Markt bestimmt.

Das heißt das bei der Entwicklung eines Spiels bereits festgelegt wird welche DirectX Version später genutzt werden soll? Einige Spiele sind ja meist mit mehreren Versionen (Ältere und Neuere) kompatibel, werden die trotzdem auf eine konkrete Version "geeicht", sodass man bspw. von einem DirectX 11 Spiel spricht, trotz abwärtskompatiblität?
 
Zuletzt bearbeitet:
Das heißt das bei der Entwicklung eines Spiels bereits festgelegt wird welche DirectX Version später genutzt werden soll? Einige Spiele sind ja meist mit mehreren Versionen (Ältere und Neuere) kompatibel, werden die trotzdem auf eine konkrete Version "geeicht", sodass man bspw. von einem DirectX 11 Spiel spricht, trotz abwärtskompatiblität?
Wieso später, eine API wird bei der Entwicklung genutzt, das ist ihr Sinn und Zweck. Man legt sie vorher fest, als einen Standard auf den sich alle verständigen können, deshalb "Schnittstelle".
Später führt die Hardware nur noch die in der API definierten und von der Software entsprechend eingebundenen Befehle aus.
Dass einige Spiele heute DX11 oder DX12 nutzen können, liegt an jeweils speziellen Anpassungen, die entsprechenden Mehraufwand bedeuten.

Was meinst du eigentlich mit Rippersoftware?
 
Zuletzt bearbeitet:
Vorn herein festlegen muss man sich nicht. APIs kann man denke ich auch on the fly in eine andere übersetzen, bestes Beispiel Star Citizen. Der Aufwand dürfte aber heftig sein.

Hier frage ich mich aber nun auch, ob die API eher was mit der engine und nicht dem eigentlichen Spiel zu tun hat.
 
APIs sind die Grundlage fast aller Software, selbst beim Klassiker Hello World nutzt man eine gegebene Funktion zur Textanzeige, ohne API kein Spiel.

Ein Spiel ist auch nur eine spezielle Version der Engine, von daher ist die Wahl der API natürlich von der Engine abhängig, aber auch die lässt sich anpassen, was gerade AAA Entwickler regelmäßig tun. Alles eine Frage des Geldes.
 
Zurück