was ist schneller ogengl oder directx



  • alterbro schrieb:

    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

    Es liegt vielleicht aber auch an Faktoren jenseits der Grafikprogrammierung. DirectX deckt insgesamt wesentlich mehr ab als OpenGL, da es nicht nur auf die Grafik bezogen ist (Grafik, Sound, Spielecontroller...).



  • Scorcher24 schrieb:

    Begründung?

    Na dann, hier mal die Punkte wo's mir beim Lesen am meisten weh tut:

    API use was shifted in favor of DirectX by Microsoft's two-pronged DirectX campaign around the launch of XBox 360 and Windows Vista [...]

    Schwachsinn. Vista und die XBox 360 kamen 2005 raus. Zu dem Zeitpunkt war OpenGL schon lange am Sand.

    It's common knowledge that OpenGL has faster draw calls than DirectX [...]

    Schwachsinn. Das war in Direct3D 9 vielleicht so. Und auch da war es für die Praxis irrelevant. Richtig verwendet gibt es keinen relevanten Performanceunterschied zwischen den beiden APIs (vernünftige Treiber vorausgesetzt).
    Abgesehen davon hat OpenGL seine eigenen Bottlenecks.

    [...] and it has first access to new GPU features via vendor extensions.

    In der Theorie. In der Praxis bringen mir irgendwelche herstellerspezifischen Extensions nix. Der Grund warum ich eine Grafik API wie OpenGL verwend ist doch gerade, dass ich nicht für jeden Hersteller eigenen Code schreiben will.

    The tesselation technology that Microsoft is heavily promoting for DirectX 11 has been an OpenGL extension for three years.

    Schwachsinn. Diese ATI Tesselation hat mit der Tesselation in Direct3D 11 absolut nichts zu tun. Sie ist rein fixed function und funktioinert komplett anders. Direct3D 11 Tesselation ist frei programmierbar und passiert an einer ganz anderen Stelle in der Pipeline.
    Abgesehen davon stimmt es dass es eine OpenGL Extension dafür gibt. Aber dann sollte man auch erwähnen, dass diese From von Tesselation in Direct3D 9 direkt Teil der API war.
    Es hat nur niemand verwendet, weil eben niemand extra Code für eine herstellerspezifische Technologie von zweifelhaftem Nutzen schreiben will...

    It has even been possible for years before that, using fast instancing and vertex-texture-fetch.

    Schwachsinn. Das ist mit der Direct3D 11 Tesselation absolut nicht vergleichbar.

    I don't know what new technologies will be exposed in the next couple years, I know they will be available first in OpenGL.

    Vielleicht in der Theorie. Die Praxis hat uns in den letzten 10 Jahren gezeigt, dass das Gegenteil der Fall ist...

    Blizzard always releases Mac versions of their games simultaneously, and they're one of the most successful game companies in the world!

    Natürlich. Der Erfolg von Blizzard ist sicherlich darin begründet, dass sie OpenGL verwenden...

    Most game developers have fallen under the spell of DirectX marketing, or into the whirlpool of vicious cycles and network advantages.

    Natürlich, globale Verschwörung, was denn sonst. Die Möglichkeit dass Direct3D einfach seit 10 Jahren die bessere Technologie ist ignorieren wir mal, denn das wäre ja das Gegenteil von dem was wir hier "beweisen" wollen...

    Ein richtiger Grafikprogrammierer ist nicht von irgendeiner API abhängig, sondern wählt seine API je nachdem was gerade sinnvoll ist.
    Aber dazu zitieren sie eh John Carmack:

    "[...] It’s interesting how little of the technology cares what API you’re using and what generation of the technology you’re on. You’ve got a small handful of files that care about what API they’re on, and millions of lines of code that are agnostic to the platform that they’re on."

    On the other hand, if you use OpenGL, you get faster and more powerful graphics features than DirectX 11

    Schwachsinn. OpenGL hat's gerade mal geschafft so grob aufzuholen. Es unterstützt immer noch nicht alles was Direct3D 11 kann.
    Gerade vor ein paar Wochen musste ich feststellen, dass es selbst im aktuellsten Core Profile noch nichtmal einen standardisierten Weg für random reads/writes in einen Buffer gibt. Das ist dann doch eine ziemlich gravierende Einschränkung. Da wirken das Fehlen von bufferless Draw oder richtiger offline Compilation von Shadern plötzlich wie Kleinigkeiten.

    If there's anything about OpenGL that you don't like, then just ask the ARB to change it -- they exist to serve you!

    Schwachsinn. Nur weil es ein "Open" im Namen hat, bedeutet das noch lange nicht dass es auch wirklich open ist.
    OpenGL ist ein open standard. Das "open" bedeutet in dem Fall: Jeder der zahlt bekommt ab $10.000 pro Jahr eine Chance mitzureden.
    Wieso sich so viele Open Source Verfechter davon blenden lassen und OpenGL als ihre Festung in ihrem heiligen Krieg gegen das böse Microsoft betrachten, ist mir wahrlich ein Rätsel.
    Denn in Wahrheit ist OpenGL nichts als ein Standard von einem Industriekonsortium, weder irgendwie besonders freier noch irgendwie besonders offener als Direct3D.
    Ich seh z.B. keinen Grund wieso man nicht einfach Direct3D auch unter Linux implementieren sollte. Ist imo die bei weitem bessere API. Aber mittlerweile gibts ja eh schon Projekte dahingehend...

    Ach und weil man's nicht oft genug sagen kann: OpenGL ist nicht Open Source.
    Allein die Idee macht nichtmal Sinn...

    EDIT weil ichs gerade gesehen hab: Ich empfehle sehr die Kommentare von Mihnea zu dem Artikel zu lesen. Er erklärts viel besser als ich es je ausdrücken könnte...



  • Dieser einseitige Pro OpenGL Artikel ist echt extrem schwachsinnig. Genau wie der ganze Thread.


  • Mod

    this->that schrieb:

    Dieser einseitige Pro OpenGL Artikel ist echt extrem schwachsinnig. Genau wie der ganze Thread.

    ab und zu braucht man einen honeypot fuer die kids 😉
    aber hast scho recht, das war wieder genug an halbstarken kraftausdruecken fuer ein halbes jahr.


Anmelden zum Antworten