was ist schneller ogengl oder directx



  • eigentlich ne ganz einfache frage mit drei möglichen antworten

    schneller
    langsamer
    gleich



  • Gleich.



  • danke, ich hatte nämlich angst directx sei schnller, weil all die games das benutzen, aber das liegt vermutlich daran daran, dass directx mehr ein baukasten für ein spiel ist



  • Ich würde sagen, dass das andere Gründe hat. In den letzten Jahren hinkte OpenGL DirectX etwas hinterher was die Features anging, und eigentlich hat Microsoft die gesamte Entwicklung vorangetrieben. Mittlerweile sind OpenGL und DirectX allerdings schon wieder ziemlich gleich auf. Der nächste Grund ist wohl, dass ein paar Dinge mit DirectX einfacher sind. (Und ein paar Leute sind der Meinung, dass es einfach die schönere API ist.)

    Aber letztlich ist das für einen Anfänger eigentlich alles völlig egal. Wichtig ist nur, dass du lernst Shader zu schreiben und zu nutzen, denn das ist mittlerweile in beiden Sprachen so ziemlich der Hauptteil der Arbeit. 😉



  • Wenn du diese Frage stellen musst, dann spielts für dich keine Rolle 😉



  • alterbro schrieb:

    eigentlich ne ganz einfache frage mit drei möglichen antworten

    schneller
    langsamer
    gleich

    Es fehlt noch die IMO einzig richtige Antwortmöglichkeit:
    kommt drauf an

    Nämlich darauf was man macht, welche Direct3D Version man verwendet, welches OS, Treiber/OpenGL-Implementierung etc.

    Im Allgemeinen nehmen sich die beiden aber nicht viel, wenn man jeweils "passend" optimiert bzw. "sinnvollen" Code schreibt.

    alterbro schrieb:

    dass directx mehr ein baukasten für ein spiel ist

    Äh. Ne, gar nicht 🙂

    DirectX ist eher low-level, d.h. man muss fast alles selbst ausprogrammieren. Ist bei OpenGL aber nicht wesentlich anders.
    Anders gesagt: es gibt nur wenig, was DirectX/OpenGL einem abnimmt, was nicht sowieso direkt vom Grafikkarten-Treiber bzw. der Hardware erledigt wird.



  • cooky451 schrieb:

    Ich würde sagen, dass das andere Gründe hat. In den letzten Jahren hinkte OpenGL DirectX etwas hinterher was die Features anging, und eigentlich hat Microsoft die gesamte Entwicklung vorangetrieben. Mittlerweile sind OpenGL und DirectX allerdings schon wieder ziemlich gleich auf.

    Es ist ja nicht nur das. M$ hat (mit Absicht) Angst vor OpenGL gemacht indem behauptet wurde, Vista würde kein OpenGL-ICD mehr erhalten. Das war nen ganz mieser Schachzug, der OpenGL richtig geschadet hat.
    GothSeiDank ist OpenGL dank der ganzen Smartphones wieder auf dem Vormarsch.

    DirectX ist eher low-level, d.h. man muss fast alles selbst ausprogrammieren. Ist bei OpenGL aber nicht wesentlich anders.
    Anders gesagt: es gibt nur wenig, was DirectX/OpenGL einem abnimmt, was nicht sowieso direkt vom Grafikkarten-Treiber bzw. der Hardware erledigt wird.

    Naja, DirectX hat DXUT, was es Programmierern durchaus etwas einfacher macht was Fenstermanagement etc angeht. SDL oder SFML kann man hier zwar auch für OpenGL nehmen, aber naja, das nehmen die größeren Studios iwie nicht. Ka warum.
    Das einzige Spiel mit SDL das mir grade einfällt in meiner Steam-Sammlung ist Dungeons of Dredmor.
    Mit SFML habe ich Atom Zombie Smasher auf Steam.



  • Scorcher24 schrieb:

    DirectX ist eher low-level, d.h. man muss fast alles selbst ausprogrammieren. Ist bei OpenGL aber nicht wesentlich anders.
    Anders gesagt: es gibt nur wenig, was DirectX/OpenGL einem abnimmt, was nicht sowieso direkt vom Grafikkarten-Treiber bzw. der Hardware erledigt wird.

    Naja, DirectX hat DXUT, was es Programmierern durchaus etwas einfacher macht was Fenstermanagement etc angeht. SDL oder SFML kann man hier zwar auch für OpenGL nehmen, aber naja, das nehmen die größeren Studios iwie nicht. Ka warum.
    Das einzige Spiel mit SDL das mir grade einfällt in meiner Steam-Sammlung ist Dungeons of Dredmor.
    Mit SFML habe ich Atom Zombie Smasher auf Steam.

    Fenster, Schmenster.
    Das ist aber noch laaaange kein Spielebaukasten. Unter Spielebaukasten verstehe ich eher sowas wie die Unity.
    D3D ist nach meiner Definition ganz klar low-level, ob mit oder ohne Fenster.



  • Hab ja auch nicht gesagt dass es nen Baukasten ist :D.
    Aber es nimmt einem schon viel Arbeit ab, das wollte ich damit sagen.

    Die meisten Entwickler nehmen heute eh vorgefertigte Engines wie bei EA jetzt die Frostbite 2 von DICE, Unreal Engine oder auch Unity.



  • ich hab noch eine frage:
    wieso unterstützt windows eigentlich opengl?
    ich mein ja schön wärs nicht, aber wenn sie es einfaach nicht mehr unterstüzen würden wär opengl vom markt gefegt, und das problem gelöst.
    sind sie einfach fair oder ist es ihnen verboten?



  • OpenGL ist nur einen Schnittstelle/API und Windows unterstuetzt diese mehr, d.h. sie liefern keine eigene Dll mit aus. Aber nVidia liefert zu ihren Treibern eben diese Dlls mit, gleiches gilt fuer Ati.



  • Windows liefert nach wie vor eine opengl32.dll mit. Die implementiert aber nur OpenGL 1.4, alles weitere muss man sich über den Extension Mechanismus vom Treiber holen.

    Wieso sollten sie es nicht unterstützen wollen, gibt doch viel zu viel Software die davon abhängt!?



  • alterbro schrieb:

    ich hab noch eine frage:
    wieso unterstützt windows eigentlich opengl?
    ich mein ja schön wärs nicht, aber wenn sie es einfaach nicht mehr unterstüzen würden wär opengl vom markt gefegt, und das problem gelöst.

    Welches Problem denn bitteschön?



  • alterbro schrieb:

    sind sie einfach fair oder ist es ihnen verboten?

    Zum einen Kartellrecht, zum anderen gibt es weitaus mehr Software als Computerspiele. Und da rennt eine Menge echt gutes Zeug (fast jedes CAD Programm) durch die Gegend, das man nicht verlieren will.

    Ausserdem: sie können e snicht verhindern, dass jemand eine opengl dll mitliefert.



  • Windows hat doch OpenGL Support, ich versteh nicht warum manche glauben dass das nicht der Fall wäre. Die Windows-Standardimplementierung ist eben nur OpenGL 1.4 fähig. Aber der Grafiktreiber kann implementieren was er will und Windows bietet eine Schnittstelle für den Zugriff auf die Funktionalität im Grafiktreiber.
    Das ist unter Windows 7 nicht anders wie unter Windows 2000...



  • alterbro schrieb:

    ich hab noch eine frage:
    wieso unterstützt windows eigentlich opengl?
    ich mein ja schön wärs nicht, aber wenn sie es einfaach nicht mehr unterstüzen würden wär opengl vom markt gefegt, und das problem gelöst.
    sind sie einfach fair oder ist es ihnen verboten?

    Würde man auf der Autobahn nur noch Autos von BMW zulassen, dann wären die anderen Automarken vom Markt gefegt und das Problem gelöst.

    So klingt ungefähr dein Satz.
    Warum willst du OpenGL ermorden, die einzige 3d API, die auch auf jeder anderen Plattform verfügbar ist und nicht nur Windows?
    Bist du etwa ein 14 jähriger Gamer, der glaubt, daß DirectX so super toll sei, nur weil es alle Spielehersteller aus historischen Gründen benutzen?



  • Es lebe die Diktatur oder schrieb:

    Bist du etwa ein 14 jähriger Gamer, der glaubt, daß DirectX so super toll sei, nur weil es alle Spielehersteller aus historischen Gründen benutzen?

    Bist Du etwa ein 16 jähriger Progger, der keine Ahnung hat was die Einführung von DirectX bedeutet hat und ist?





  • Die meisten Argumente in dem Artikel warum OpenGL besser sein soll als Direct3D sind aber leider Schwachsinn.

    Die bessere Portabilität ist das eine Argument für OpenGL. Auf Linux oder Mac ist OpenGL eben die API der Wahl.



  • Begründung?


Anmelden zum Antworten