Opengl vs direct3D

Caun

Freizeitschrauber(in)
Hallo,
Ich bin etwas am grübeln wegen den oben genannten API, und zwar soll opengl wesentlich mehr Power haben und bessere Performance sowie Cross-Plattform kompatibel.

Wenn ich aber mal bei den Heaven Benchmark OpenGL mit dx9 oder dx11 vergleiche (sonst alle Einstellungen gleich) dann hat dx9 50% und dx11 30% mehr FPS. Liegt das jetzt am Heaven oder ist dx doch besser in der Performance ? Und ist das vll auch einer der Gründe warum die PS3(opengl) nicht an der xbox360( dx9) vorbei kommt ?

Ich weiß etwas viele Fragen, aber mich interessiert das mal :)
 
Ich vermute mal, dass es von der Implementierung abhängt. OpenGL ist ja nur ein Standard, es gibt auch Implementationen dazu, die alle Berechnungen auf der CPU durchführen. Je nachdem wie viele Funktionen von der Hardware beschleunigt werden(auch Treiberabhängig), desto schneller ist OpenGL.
 
Die Leistung von OpenGL ist wie bei DirectX auch stark vom Treiber und den darin enthaltenen Optimierungen abhängig. So pauschal kann man nicht sagen, was wo schneller ist. Du hast bei Spielen aber in der Regel eh nicht die Wahl, welche API genutzt werden soll (früher gab es sowas mal :ugly:)
 
mmh ja gut, also in dem Fall Heaven ist es eher schlecht als recht ^^ Kann es sein, dass OpenGL bei normalen Treibern nicht optimiert wurde ?
 
Also diese superteuren Workstation-Karten haben auf OpenGL-optimierte Treiber, da dies ja bei vielen CAD Systemen zum Einsatz kommt. Daher kann das durchaus sein.
 
mmh okay, dachte das könnte ein Grund bei der PS3 sein, da die Grafik auf Xbox niveau ist.
 
Bei Spielen, die exklusiv für die PS3 raus kommen, kann man schon sehen, was die Konsole kann (bspw. Killzone 3 :ugly:). Bei Multiplattform-Titeln wird meist zuerst für die Xbox 360 entwickelt und dann auf die anderen Plattformen portiert, ergo bekommt die 360 auch am meisten Aufmerksamkeit seitens der Entwickler.

Hardwaretechnisch ist dabei noch zu beachten, dass die GPU der PS3 "nur zu DirectX9 kompatibel" ist (vom Feature-Set her). Bei der Xbox 360 sind hingegen ein paar DX10-Features enthalten (kann man als DX9/10-Hybriden betrachten).
 
Ja gut das stimmt, allerdings kann das ja kaum auschlaggebend sein, dass zB bei BF3 die Texturen auf der PS3 grässlich aussehen und sogut wie kein AA vorhanden ist...
Wenn man Spiele wie Crysis 2 sieht die sehen ja nen tick besser aus als xbox, aber nunja von der Hardwareleistung müsste da eig mehr raus kommen...
 
Beide Konsolen haben insgesamt 512 MB RAM, verteilen den aber unterschiedlich. Die PS3 hat eine klassische Aufteilung wie beim PC - CPU und GPU haben jeweils ihre eigenen 256 MB. Die Xbox 360 teilt den Speicher dynamisch. Die GPU selbst hat noch einmal 10 MB extra, aber die 512 MB werden halt wie bei Onboard-GPUs zwischen CPU und GPU geteilt. Daher kann die Xbox 360 u. U. besser mit höheren Texturen / AA umgehen als die PS3. Swappen ist bei Konsolen ja nicht möglich, wenn Speicher voll dann Speicher voll ;)
 
Ich denke beide API, egal ob DirectX oder OpenGL, sind im Stande jegliche Hardware an Limit zu bringen und dies auch sehr effizent. Beide werden allerdings verschieden sagen wird mal Verteten. (Wenn ich etwas flasches schreibe bitte verbessert mich, schreibe nur wie ich die Geschichte verstanden habe)

OpenGL ist ein offen Standart, welcher praktich für egal wen, was, egal welche Hardware, egal Welches Betreibsystem genutzt werden kann..... ABER die Frage ist wer entwickelt es und wer bietet Support dafür ? Und hier liegt das Problem, der Spiele-Entwickler selbst ist sein eigener Support. Und um ein Spiel vernünftig mit OpenGL zu entwickeln, braucht es Zeit und noch viel Handarbeit. Und das können sich Entwickler immer Weniger Leisten.

Im Gegensatz hat DirectX zwar nur die XBox und Windows als Betreibsmöglichkeiten, allerdings steht hier Microsoft dahinter, welcher den Entwicklern mit immer besseren Tool und ner menge Support zur Seite stehen. Warum sollte Microsoft dies tun, DirectX selbst kostet ja nix? Es stärkt aber die eigenen Plattformen. Ich geben zu DX10/11 läuft noch nicht sonderlich, wenn man DX9 Titel aber betrachtet, hier bekommt man schon eine Bewundernswerte Grafik, welche sehr gut mit der Hardware Skaliert. Warum, welch die XBox360 eben nur DX9 kann. Somit kann man DX9 als ausgereift betrachten.

Würde Sony, Nintendo und Apple (für OSX wird auch OpenGL benötigt) nun hingehen und OpenGL extrem Pushen würden und die Entwickler mehr unterstützen, würde es nicht lange Dauern und DirectX würde langsam aber sicher in Vergessenheit geraten.

Aus all diesen Gründen müssen Spiele welche die Xbox resp. DirectX als Leadplattform nutzen, für die PS3 resp. die Wenigen OSX Spiele auf OpenGL portiert werden, und dies geschied meist sehr schnell und ohne grosse Arbeit reinzustecken -> die Resultat sehen wir ja dann.

Mit DX11 das gleiche, DX11 bietet coole Effekte welcher jeder PC-Spieler geniessen möchte, also wird die PC Version mal schnell und Lieblos von DX9 auf DX11 portiert, ein paar Effekte dazu und fertig. Ist das Spiel draussen und hat seine Käufer gefunden, fangen diese an zu Jammern dass DX11 komplett verbuggt sei, was Kommt? Ein Patch, Nö! Nur man sollte doch lieber den DX9 Modus nutzen der funktioniert ja sauber!
 
Zurück