Warum DirectX?



  • Wenn OpenGL plattformunabhängig ist und, wie meistens gesagt wird, auch besser...
    Warum verwenden die meisten kommerziellen Spiele dann DirectX?



  • Ankou schrieb:

    Wenn OpenGL plattformunabhängig ist und, wie meistens gesagt wird, auch besser...
    Warum verwenden die meisten kommerziellen Spiele dann DirectX?

    weil die meisten derzeitigen entwickler mit directx aufgewachsen sind.



  • 🙄



  • this->that schrieb:

    🙄

    ??



  • Ankou schrieb:

    this->that schrieb:

    🙄

    ??

    Weil erstens der Thread Schwachsinn ist (wenn Unregs posten könnten, wär das schon längst ein Flamewar), zweitens nebulöse Aussagen wie "meistens wird gesagt OpenGL ist besser" Schwachsinn sind und drittens Ankous Posting Schwachsinn ist (als ob DX NUR benutzt wird weil man sich halt dran gewöhnt hat...)



  • Warum ist der Thread schwachsinn?
    Es fällt halt auf, während in Foren OpenGL oft empfohlen wird(wie oft im Vergleich zu DirectX sei mal dahingestellt), wird es bei Spielen eigentlich so gut wie gar nicht verwendet(oder irre ich mich?).
    Es soll kein Flamewar sein, wie, "was ist besser", und die Frage soll auch nicht bedeuten, warum man überhaupt DirectX nimmt.
    Sondern warum DirectX so viel öfter verwendet wird?



  • this->that schrieb:

    und drittens Ankous Posting Schwachsinn ist (als ob DX NUR benutzt wird weil man sich halt dran gewöhnt hat...)

    ich glaube du meinst eher mich damit.
    ich hätte mich vielleicht klarer ausdrücken sollen. ich meinte damit, dass
    derzeitige stammentwickler bei entwicklungsstudios sich auf directx
    spezialisiert haben. eine migration zu opengl ist für die meisten studios
    daher unwirtschaftlich. ausnahmen bilden studios wie epic games und id
    software, welche langjährige opengl erfahrung in dieser branche vorweisen
    können.
    desweiteren zeugt ein post, in dem ohne jegliche argumentative untermauerung
    drei mal das wort "schwachsinn" vorkommt, nicht gerade davon konstruktiv zu
    sein. im gegensatz zu ankous frage sind es solche posts, die flame wars
    verursachen.



  • sothis_ schrieb:

    ich hätte mich vielleicht klarer ausdrücken sollen. ich meinte damit, dass
    derzeitige stammentwickler bei entwicklungsstudios sich auf directx
    spezialisiert haben.

    Richtig. Aber was du unterschlägst: Nicht grundlos.

    sothis_ schrieb:

    eine migration zu opengl ist für die meisten studios
    daher unwirtschaftlich. ausnahmen bilden studios wie epic games und id
    software, welche langjährige opengl erfahrung in dieser branche vorweisen
    können.

    Ich bin mir nicht sicher ob man id noch dazu zählen kann. Glaube gehört zu haben, dass sie jetzt auch mir DX entwickeln.

    sothis_ schrieb:

    desweiteren zeugt ein post, in dem ohne jegliche argumentative untermauerung
    drei mal das wort "schwachsinn" vorkommt, nicht gerade davon konstruktiv zu
    sein. im gegensatz zu ankous frage sind es solche posts, die flame wars
    verursachen.

    In einem Thread, bei dem nichts produktives rauskommen kann, macht es auch wenig Sinn groß sachlich zu argumentieren.
    Auch wenn es vermutlich nicht Ankous Anliegen war bewusst einen Flamewar zu provieren, begünstigt seine einseitige Formulierung ("jeder weiß ja, dass OpenGL r0xx0rt. Wieso nehmen die Entwickler dann doch DX!??") dennoch eine solche Entwicklung.
    Mit meinem Posting wollte ich nur auf die Sinnlosigkeit solcher Threads hinweisen sowie die Unsachlichkeit deines Postings hinweisen. Dass dein Posting zumindest so formuliert war das man es falsch verstehen musste, hast du ja selber zugegeben;)
    Da ich keinerlei Stellung bezogen habe, kann man meinen Beitrag kaum als anheizendes Posting beurteilen.

    So, jetzt wäre eigentlich auch alles gesagt;)



  • this->that schrieb:

    Mit meinem Posting wollte ich nur auf die Sinnlosigkeit solcher Threads hinweisen sowie die Unsachlichkeit deines Postings hinweisen. Dass dein Posting zumindest so formuliert war das man es falsch verstehen musste, hast du ja selber zugegeben;)

    ich habe nunmal die dumme angewohnheit, fragen manchmal mit nur einem kurzen
    statement zu beantworten, ich arbeite dran, wenn auch schon seit jahren,
    aber ich arbeite dran 😃

    this->that schrieb:

    So, jetzt wäre eigentlich auch alles gesagt;)

    i agree 🙂



  • Wenn OpenGL plattformunabhängig ist und, wie meistens gesagt wird, auch besser...

    Ein Vergleich zwischen beidem ist nicht sinnvoll. OpenGL ist ein Grafik-API. DirectX hingegen sind Grafik-, Audio-, Video-, Input- und Netzwerk-APIs. Damit ist DirectX in allen nicht-grafischen Bereichen also auf jeden Fall schon mal "besser" als OpenGL, das sich mit diesen Dingen überhaupt nicht befasst.

    Man kann deshalb OpenGL und DirectX auch problemlos zusammen verwenden, wie es übrigens einige der gern zitierten Spiele von id Software unter Windows tun.

    Warum verwenden die meisten kommerziellen Spiele dann DirectX?

    Die meisten Consumer-PCs verwenden Windows. Die Zielplattform der meisten kommerziellen Spiele ist also Windows, und dessen Multimedia-API ist nunmal DirectX. Die restlichen Plattformen sind für einen großen Teil der Entwickler aus finanzieller Sicht nicht interessant. DirectX ist außerdem auf die Spieleentwicklung zugeschnitten und wird mit großem Aufwand vermarktet.
    Wenn man Konsolen mit einbezieht, ist die Xbox360 (DirectX only) auch ein Faktor.

    Ich würde auch sagen, es hängt viel weniger vom verwendeten Grafik-API ab, als man sich das als Hobbyprogrammierer so vorstellt. Die Grafik ist nur ein kleiner Teil eines Spiels. Und die Teile, die sich mit der Grafikausgabe befassen, machen nur einen verschwindend geringen Anteil am gesamten Code eines Spiels aus. Die sind nötigenfalls auch relativ schnell auf eine andere Plattform portiert. Plattformunabhängigkeit ist hier deshalb meistens kein ausschlaggebendes Kriterium.



  • man kann sich auch fragen warum damals jeder Windows 95 gekauft hat, statt Apple os 7 wenn dieser stabil und virenfrei war? microsoft ist schon ein cooler name ne? Id Software und ut entwickler sind nun mal keine Idioten. Schließlich haben sie auch 3D-Shooter erfunden.

    Wegen Tasten und Mauseingabe kombiniert man OpenGL einfach mit SDL und noch andere Module. Dann ist es wie DirectX. So bleibt nur noch ein Vorteil für OGL übrig: Plattformunabhängig. DirectX steckt da also fest. Also rein von der Logik ist OpenGL vorzuziehen.

    Wegen Zielgruppe:
    OpenGL 100%
    DirectX 90%

    sind OpenGl-fähige spiele 10% reicher. das war vermutlich der grund warum id software so entschieden haben.

    ist das jetzt flamewar? 😃



  • man sollte aber auch als grund, warum directx genommen wird, beachten, dass directx wesentlich öfter aktualisiert wird als openGL, auch das ist ein wichtiger grund.
    viele spielentwickler wissen, dass die grafik schon eine sehr wichtige rolle spielt, und wenn die grafik schlecht und veraltet ist kaufen das die aktuellen gamer nicht (zumindest die meisten, die denken grafik ist alles!).
    und weil openGL da oftmnals hinterherhängt entscheidet sich die spielebranche natürlich für das aktuellere!



  • Direct3D wird wohl von vielen Spielen verwendet weil...
    😉 Direct3D ist verdammt gut dokumentiert
    😉 Für Direct3D werden mit dem SDK ein Haufen zumindest brauchbarer Samples mitgeliefert
    😉 Direct3D kommt ohne Erweiterungen aus, OpenGL dagegen kann man nur wirklich verwenden wenn man diverse Erweiterungen verwendet die sich dann mehr oder weniger schlecht ins Konzept einfügen
    😉 Direct3D ist schön Objektorientiert, wohingegen OpenGL viel in (globalen) States speichert, was ziemlich hässlich wird wenn man ein Objektorientiertes Framwork herumstricken will (oder gar OpenGL aus mehreren Threads heraus verwenden will)

    OpenGL halte ich für eine feine Sache, weil es OS unabhängig ist. Wenn der Punkt allerdings für ein Projekt kein Thema ist, dann würde ich jederzeit zu Direct3D greifen, weil die API einfach sauberer ist.

    Das ist auch nicht weiter verwunderlich, schliesslich wurde die API mehrfach überholt - Direct3D 9 hat mit den ersten Direct3D Versionen sogut wie nichtsmehr zu tun. Das einzige was Microsoft noch bereitstellt sind Wrapper die es ermöglichen Programme die alte Direct3D Schnittstellen verwenden noch mit aktuellen Treibern zu verwenden.

    OpenGL ist da bis jetzt einen anderen Weg gegangen, nämlich den die API über Extensions zu erweitern, und alle alten Funktionen beizubehalten. Was leider auch dazu führt dass die API ziemlich unübersichtlich und unsauber geworden ist. Und ein weiterer Punkt der sich daraus ergibt und OpenGL IMO viel mehr schadet als nützt: alte Tutorials sind immer noch verwendbar, und werden auch immer noch verwendet. Dass die darin verwendeten Techniken aber schon lange nichtmehr optimal sind (z.B. Dinge wie Display-Lists, oder Vertices direkt über glVertex3f() anzugeben) führt dazu dass auch Leute die Heute erst anfangen sich mit OpenGL auseinanderzusetzen immer noch Dinge lernen die eigentlich schon lange veraltet sind, und schon fast als "falsch" bezeichnet werden können. Das führt dann im Weiteren zu ordentlich frustration und zu suboptimalem Code.


  • Mod

    Ankou schrieb:

    Wenn OpenGL plattformunabhängig ist und, wie meistens gesagt wird, auch besser...

    Nicht so sehr auf Fanboys hoeren.

    Warum verwenden die meisten kommerziellen Spiele dann DirectX?

    Ich glaube deine Quellen sind fehlerhaft, die meisten spiele kommen auf Konsolen raus und verwenden vermutlich opengl oder was ganz anderes.

    Direct3D wird verwendet, weil es die einzige einheitliche Schnittstelle fuer 3d karten ist.

    DirectX wird verwendet, wie bei vielen dingen von MS, weil es (gerade beim Einstiegt) viele Hilfen bietet, sodass auch anfaenger damit klarkommen. Vom Mesh, Texturen usw. laden bis zu einem Material management mittels effects.
    Wenn man dann mit sowas erstmal arbeitet, will man sich nicht umstellen.



  • rapso schrieb:

    Ich glaube deine Quellen sind fehlerhaft, die meisten spiele kommen auf Konsolen raus und verwenden vermutlich opengl oder was ganz anderes.

    du negierst eine aussage die du selbst nicht sicher beantworten kannst. warum postest du dann sowas?

    hinzu kommt, dass ich mit deiner aussage sehr vorsichtig wäre, die aktuellen konsolen benutzen directx, allein schon aus aktulaitätsgründen!



  • TrommlBomml schrieb:

    hinzu kommt, dass ich mit deiner aussage sehr vorsichtig wäre, die aktuellen konsolen benutzen directx, allein schon aus aktulaitätsgründen!

    Wenn du mit "die aktuellen Konsolen" die xBox meinst, hast du Recht. Bei Playstation 3 und Wii siehts schonmal anders aus.



  • Das eigentlich einzige Argument fuer Direct3D sind die OpenGL-Treiber von ATI.



  • Danke! Wie man so schön sagt: You made my day 😃


  • Mod

    TrommlBomml schrieb:

    rapso schrieb:

    Ich glaube deine Quellen sind fehlerhaft, die meisten spiele kommen auf Konsolen raus und verwenden vermutlich opengl oder was ganz anderes.

    du negierst eine aussage die du selbst nicht sicher beantworten kannst. warum postest du dann sowas?

    ich kann meine aussage sicher beantworten, ich weiss lediglich nicht, ob ich ihn vielleicht falsch verstanden habe. deswegen versuch ich das freundlicher zu formulieren. stell dir vor ich haette ihm gesagt

    es ist doch leicht belegtbar, dass zahlen was anderes aussagen. warum postest du dann sowas?

    und dann waere es ein missverstaendniss und ich wuerde wie ein idiot darstehen.

    hinzu kommt, dass ich mit deiner aussage sehr vorsichtig wäre, die aktuellen konsolen benutzen directx, allein schon aus aktulaitätsgründen!

    jetzt koennte ich dich auch fragen, weshalb du sowas postest wenn du scheinbar kaum ahnung hast. nur die xbox(360) als einzige verwendet direct3d. alle anderen wie z.b. ps2,psp, gc, wii, nds, ps3 verwenden kein direct3d bzw directx.



  • ah DirectX auf aktuellsten Stand.

    wird den bald OpenGL überarbeitet? Tut sich denn da überhaupt was?


Log in to reply