Verständisfrage: DirectX -/ Runtime -/ SDK?
-
Hallo Leute,
vll. ne bischen blöde frage, aber ich bin verwirrt. Es gibt wohl drei DirectX Pakete: DirectX, DirectX Runtime, DirectX SDK!? Oder? Die SDK benötige ich um eigene DirectX Applikationen zu schreiben, aber unterscheidet man hier jetzt auch zwischen DirectX u. DirectX Runtime? Is das nich das selbe?
Wenn ich ein Spiel kaufe, das DirectX vorrausetzet, installiert man ja nich die "runtime"? Wenn ich ne eigene Anwendung entwerfe mti der SDK brauch ich dann die "runtime"?
Ach ich bin verwirrt;)
P.s: Guten Morgen
-
Die Runtime ist die Bibliothek die zum Ausführen eines DirectX-Programmes gebraucht wird, da Du mit der SDK beim Kompilieren gegen diese Bibliotheken verlinkst. Und die Runtime ist bei der SDK schon dabei und zwar in 2 Versionen: Debug und Release. Debug ist selbstverständlich nur für Dich, damit Du Fehler einfacher finden kannst. Umstellen zwischen Debug und Release kann man im Control Panel von Windows.
War das verständlich?
rya.
-
Ja. Die Runtime wird mit dem SDK mitgeliefert. Wäre ja blöd, wenn man Applikationen bauen kann, diese dann aber nicht benutzen.
DirectX ist allerdings der Name der API und im eigentlichen Sinne weder die Runtime, noch das SDK.
Wenn ich ein Spiel kaufe, das DirectX vorrausetzet, installiert man ja nich die "runtime"?
Doch. Da wird üblicherweise ein Installationsdialog gestartet, wo dann die nötigen Komponenten installiert werden. (Häufig hat man allerdings bereits eine neuere Version und braucht somit nix zu installieren).
Kurz und bündig:
DirectX -> Name der API
DirectX Runtime -> Das, was ein Spieler braucht
DirectX SDK -> Das, was ein Spielentwickler braucht (enthält Runtime, Header, Bibliotheken, Dokumentation, Beispiele usw.)Man kann das eigentlich analog zu Java sehen:
Java -> Name der Bibliothek (Sprache natürlich auch, aber für den Vergleich nebensächlich)
Java Runtime -> Was man braucht, um Java Programme zu starten
Java SDK -> Das, was ein Entwickler braucht (enthält auch hier Runtime, Source, Bibliotheken, Doku, Beispiele usw.)
-
Danke freunde, ihr seit die besten;)
D.h. wenn ich ein Spiel installiere, wird die runtime mit-installiert... und wenn ich meine eigene applikation , natürlich im "release" ^^ übersetze, könnte diese schon funktionieren, wenn zuvor durch ne andere applikation die runtime schon installiert wurde!? wenn nicht, muss ich sie installieren!
richtig verstanden?
-
BorisDieKlinge schrieb:
Danke freunde, ihr seit die besten;)
D.h. wenn ich ein Spiel installiere, wird die runtime mit-installiert... und wenn ich meine eigene applikation , natürlich im "release" ^^ übersetze, könnte diese schon funktionieren, wenn zuvor durch ne andere applikation die runtime schon installiert wurde!? wenn nicht, muss ich sie installieren!
richtig verstanden?
Grundsätzlich ja. Allerdings reicht es, wenn du die Dll's mitlieferst oder gleich statisch linkst, dann reicht sogar eine .exe.
Üblicherweise werden bei Hobbyprojekten keine Installer mitgeliefert. Finde ich auch gut so. Ich (und viele andere) hassen installer, weil man da nie so recht weiss, was das Teil so alles zumüllt. => Kopier das alles ins korrekte Verzeichnis und gut-ist. Die paar MB spielen Heute echt keine Rolle mehr.
-
So, nun meine nächste frage hinsichtich der DX runtime!
Ich verwende "Axiom" als 3D engine in .NET! Axtiom verwendet noch das "Managed DirectX 9" !
Wenn ich die Axiom Engine initalisiere, kommt natürlich eine exception das bspw. die "DirectInput" nicht gefunden werden kann, da diese ja vermutlich in der runtime bzw. sdk ist?
Dann hab ich das neuste DirectX SDK installiert (500MB groß uiuiu) , nun läuft die geschichte. Aber wie kann ich nun die dll bzw. die assamblies da statisch verlinken (verwende VS 2008) ? Vorallem welche? Muss ich das mit dem Dependecywalker rausfinden? Ich will später das übersetzte .NET Axiom Applikation ausliefern, ohne das man da directx runtime installieren muss.
Wäre dankbar für jede hilfe.
grüße
-
BorisDieKlinge schrieb:
Ich will später das übersetzte .NET Axiom Applikation ausliefern, ohne das man da directx runtime installieren muss.
Ich halte solche Fragen immer für schlechten Stil. Das selbe "Problem" haben wir auch immer im GUI-Forum. Die Runtimes sind einfach nötig und es ist besser, der User macht ein Update seiner Runtime, als dass man alles statisch linkt. Noch dazu bin ich mir nicht sicher, ob das bei .net überhaupt geht, die Sachen alle so mitzugeben. Aber generell rate ich davon ab.
rya.
-
Davon abgesehn ob es gut oder schlecht ist ob man dies tut, würde ich gern erfahren welche Dlls directx Technisch zur runtime notwendig sind bzw,. ich statisch linken müsste... in .NET werden diese im normalfall imm ins ausgabeverzeichnis mitkopiert... !?!
grüße