Alte DirectX-Versionen: Welche ist sinnvoll benutzbar?
-
Da du alle resourcenintensiven Zugriffe eh nur mit dem Hauptspeicher bewältigst und erst ganz zum Schluß per GDI ins Fenster kopierst,sollte es keine großen Unterschied machen ab der letzte Schritt per GDI, OGL oder DX passiert.
Bei deinem Emu wird da sicherlich mehr mit GDI gemacht als einmal ins Fenster mit StretchBlt geblittet.
Ich denke rapso hat da schon recht.
Gruß Chris
-
justchris schrieb:
Bei deinem Emu wird da sicherlich mehr mit GDI gemacht als einmal ins Fenster mit StretchBlt geblittet.
Na und? Aber wenn es an der Hardware des PCs liegt, müßte doch der Emulator bei GDI und bei DirectX gleich schnell bzw. langsam sein.
Nochmal die Zusammenstellung:
Emulator mit GDI: Langsam
Emulator mit DirectDraw, Direct3D oder OpenGL: Schnell
Mein Programm mit GDI: LangsamWoher kommt jetzt die Schlußfolgerung, daß es an der Hardware liegt und daß mein Programm mit DirectDraw genauso langsam wäre wie mein Programm mit GDI?
-
NES-Spieler schrieb:
Xebov schrieb:
Das Hauptproblem für dich dürfte es erstmal sein ein SDK zu finden ind em alte DX Versionen drin sind.
Wieso ist das ein Problem? Ich nehme dann eben das DirectX 1, 2, 3, 4, 5, wasauchimmer SDK.
Hast du denn ein DX 1, 2, 3, 4, 5 SDK? Von Microsoft bekommt man das nichtmehr (MSDN Downloads gibt's nimmer). Compilieren kann man AFAIK Programme die alte DX Versionen verwenden auch mit neueren SDKs, aber die Beschreibung/Hilfe für ältere DX Versionen fehlt in den neueren SDKs leider.
Und beim Endbenutzer sollte es ja so oder so funktionieren, da DirectX meines Wissens nach abwärtskompatibel ist.
Dabei sehe ich auch kein Problem. D.h. es gibt einige Interfaces/Funktionen die gestrichen wurden, aber der einzige konkrete Fall den ich kenne betrifft irgendeine ganz alte Direct3D Version.
-
hustbaer schrieb:
Hast du denn ein DX 1, 2, 3, 4, 5 SDK? Von Microsoft bekommt man das nichtmehr (MSDN Downloads gibt's nimmer). Compilieren kann man AFAIK Programme die alte DX Versionen verwenden auch mit neueren SDKs, aber die Beschreibung/Hilfe für ältere DX Versionen fehlt in den neueren SDKs leider.
Das geht eigentlich nicht. Die SDKs enthalten nur die Libs und Header für DX9 10 und 11, und die letzte DirectDraw und DirectInput Versionen die es gab. Damit bekommt man also nix was auf DX <9 laufen soll Compiliert.
-
hustbaer schrieb:
Hast du denn ein DX 1, 2, 3, 4, 5 SDK? Von Microsoft bekommt man das nichtmehr (MSDN Downloads gibt's nimmer).
Also, ich hab jetzt bereits zwei Seiten gefunden, die das zum Download anbieten.
Im Moment schwanke ich zwischen Version 2 und 3. Gibt es irgendwas in Version 3, das 2 noch nicht hat und das unverzichtbar ist?
-
Xebov schrieb:
hustbaer schrieb:
Hast du denn ein DX 1, 2, 3, 4, 5 SDK? Von Microsoft bekommt man das nichtmehr (MSDN Downloads gibt's nimmer). Compilieren kann man AFAIK Programme die alte DX Versionen verwenden auch mit neueren SDKs, aber die Beschreibung/Hilfe für ältere DX Versionen fehlt in den neueren SDKs leider.
Das geht eigentlich nicht. Die SDKs enthalten nur die Libs und Header für DX9 10 und 11, und die letzte DirectDraw und DirectInput Versionen die es gab. Damit bekommt man also nix was auf DX <9 laufen soll Compiliert.
Wenn du das sagst glaub ich dir das einfach mal
Ich denke ich hab das letzte DirectDraw 7 Programm mit dem "2003 Summer Update" SDK compiliert. Das ist aber natürlich auch schon recht alt.BTW: Geht DirectDraw4 auch nimmer? Ich könnte mir vorstellen dass DirectDraw4 u.U. auch mit neueren SDKs noch geht, da DirectDraw4 soweit ich weiss noch das "aktuelle" DirectDraw für Windows CE ist...
@NES-Spieler:
Wenn du ein altes SDK gefunden hast ist ja alles gut
Ich finde es auch ziemlich doof dass man die von MS nichtmehr direkt beziehen kann -- wenn man sie damals runtergeladen und aufgehoben hat (waren ja frei für jeden erhältlich), darf man sie heute ja auch noch nutzen.Was Version 2/3 angeht: ich wüsste nichts, was in DirectDraw "1" fehlen würde, was wirklich unverzichtbar ist. Einige Dinge sind halt anders, und einige fehlen.
Persönlich würde ich aber vermutlich eher auf OpenGL, oder auf Direct3D8 setzen (für 2D Alpha-Blending - sieht halt hübscher aus als ohne). Beide funktionieren mit Windows 95. Natürlich muss man beide ggf. nachinstallieren, da weder OpenGL noch Direct3D8 bei Windows 95 vorinstalliert sind.
-
hustbaer schrieb:
Wenn du das sagst glaub ich dir das einfach mal
Ich denke ich hab das letzte DirectDraw 7 Programm mit dem "2003 Summer Update" SDK compiliert. Das ist aber natürlich auch schon recht alt.BTW: Geht DirectDraw4 auch nimmer? Ich könnte mir vorstellen dass DirectDraw4 u.U. auch mit neueren SDKs noch geht, da DirectDraw4 soweit ich weiss noch das "aktuelle" DirectDraw für Windows CE ist...
Ja das geht noch, ich hab eben mal genauer Nachgesehen. Der Header von DirectDraw enthält auch alle Vorhergehenden Versionen. Ich hab das SDK von August 09, und da ist 1,2,4,7 drin. Bei DirectDraw hat man ja scheinbar nie eigene Dateien für die Versionen gebastelt wie bei Direct3D. Bei DirectInput müsste man auch verschiedene Versionen rausbekommen.
-
hustbaer schrieb:
Was Version 2/3 angeht: ich wüsste nichts, was in DirectDraw "1" fehlen würde, was wirklich unverzichtbar ist. Einige Dinge sind halt anders, und einige fehlen.
Bei der Frage "DirectX 1" vs. "DirectX 2" ist es so: Sämtliche Windows-Versionen wurden entweder mit gar keinem oder mit mindestens DirectX 2 ausgeliefert. Das heißt, Version 1 statt Version 2 zu nehmen, bringt niemandem Vorteile. Betriebssysteme, die keins drauf haben, müssen sowieso eines nachinstallieren, und Betriebssysteme, die ein DirectX vorinstalliert haben, haben mindestens Version 2. Das heißt, es gibt keinen Grund, 1 zu benutzen.
hustbaer schrieb:
Persönlich würde ich aber vermutlich eher auf OpenGL, oder auf Direct3D8 setzen (für 2D Alpha-Blending - sieht halt hübscher aus als ohne).
Alpha Blending? Was ist das? Kann man das essen? Hast Du mal meinen Benutzernamen gesehen? Bei mir haben Videospiele weniger als 64 Farben, von denen nichtmal alle gleichzeitig dargestellt werden können.
-
NES-Spieler schrieb:
Alpha Blending? Was ist das? Kann man das essen? Hast Du mal meinen Benutzernamen gesehen? Bei mir haben Videospiele weniger als 64 Farben, von denen nichtmal alle gleichzeitig dargestellt werden können.
Ok ich muß sagen jetzt evrstehe ich wieso du die neueren Versionen zu gunsten einer Kompatibilität die keiner braucht ignorierst.
Beim Alpha Blending nutzt man den Alphakanal des Pixels/Textur um Objekte zu überblenden. Der Finale Pixel der gezeichnet wird ist dabei eine Mischung aus dem zu zeichnenden Pixel und dem Bereits im Buffer vorhandenen in Abhängigkeit des Alpawertes des zu zeichnenden Pixels (gibt da verschiedene Berechnungsmöglichkeiten das ist eine davon).
-
Ich weiß, was das ist. Der Post sollte eine gewisse Ironie beinhalten, darüberhinaus aber auch ganz direkt verdeutlichen, daß ich Alpha Blending nicht brauche.
-
Ich bin's nochmal. Eine Frage: Weiß einer, wo ich die Originaldatei des DirectX 2 SDK bekomme? Ich habe zwei Links gefunden, wo man das runterladen kann:
www.zoneprog.com/directx/dxsdk.php
forum.gamedeception.net/archive/index.php?t-16912.htmlEine Version davon ist nur die Beta und in der anderen wurde der Großteil der Samplecodes entfernt.
Ich hätte aber gern die Originaldatei, die man damals auf www.microsoft.com/msdownload/directx2.htm runterladen konnte. Ich versteh nicht, wieso Leute, wenn sie alte Sachen online stellen, immer an den Inhalten rumspielen müssen.Also, weiß jemand, wo ich die Original Zip herbekomme?