• Mitspieler gesucht? Du willst dich locker mit der Community austauschen? Schau gerne auf unserem ComputerBase Discord vorbei!

Test Dirt Rally Benchmarks: AMD liegt vorne, bleibt aber nicht unfallfrei

Hmm, dein Monitor hat doch nur FullHD, wenn deine Sig mit dem XL2420T stimmt, oder? Ein weiterer Grund könnte sein, daß CB eine Referenz-980Ti nutzt, während deine übertaktet ist. Und hast du auch die gleiche Sequenz, also den integrierten Benchmark, gemessen?
 
Zuletzt bearbeitet:
Der Benq ist nur der 2. Monitor. Hab die Grafiksettings nochmal überprüft und einen Wert von 2MSAA auf 4MSAA geändert. Das war noch falsch eingestellt. Jetzt hat der interne Benchmark immernoch 105 FPS ausgespuckt. Die Grafikkarte läuft auf Standardtakt. Und am Prozessor wirds bei dem Spiel nicht liegen. Vielleicht haben sie das ganze auch mit 8MSAA gemacht und nur falsch eingetragen, dann würde dieser Wert sicher zustande kommen.
 
Zuletzt bearbeitet:
...ah, den Asus Monitor hab ich glatt übersehen. :rolleyes: Aber dann weiß ich auch nicht, woran es liegen könnte. Unterschiedlicher Treiber vielleicht...?
 
Vielleicht hast du einen besseren Kühler auf deiner Grafikkarte, so dass der Boost intensiver ausgefahren werden kann. Vllt. ist der Boost daher im Bios ab Werk schon höher eingestellt. Eine gute Gehäuselüftung wirkt sich hier auch nochmal positiv aus.
 
Chesterfield schrieb:
ich wette der "Pentium" G4520 stampft den FX9590 in Grnd und boden bei dem Spiel :D... wer behauptet was anderes??

Andere Frage: Wen würde es wundern? Und was hast du davon?
Ergänzung ()

SirBerserk schrieb:
bei einer amd karte muss die cpu schneller sein als ein als bei nvidia. um 100fps zuz erreichen muss man bei amd einen übertakteten i7 haben, bei nvidia nur einen i3.

*wenn DX11
 
Zuckerwatte schrieb:
Ergänzung ()

*wenn DX11

hast du dazu tests? ich verstehe die szene was das angeht überhaupt nicht.

da meckern ein paar leute rum weil eine 980 manchmal von einer 390 überrannt wird, aber die großen unterschiede (10-30%) im cpu limit werden komplett verschwiegen.

es haben sich bestimmt schon leute gewundert das ihre cpu plötzlich nichtmehr für eine amd karte reicht, weil meistens (nicht wie hier im test) nur mit einer titanx die cpu´s getestet werden. mit einer amd karte hat man aber wie hier im test zu sehen schon viel früher probleme mit einem cpu limit.
 
bensen schrieb:
Ergänzung ()

Und wer genau wird jetzt bevorzugt? AMD oder Nvidia? Oder doch keiner? :freaky:

Weil du so schön am austeilen bist....

CPU Benchmark :freak:=> Was hat Nvidia hiermit zu tun? (abgesehen vom geringeren DX11 Overhead)
 
es haben sich bestimmt schon leute gewundert das ihre cpu plötzlich nichtmehr für eine amd karte reicht,
Wobei das Problem eigentlich nur mit AMD-CPUs und wirklich richtig alten Intels wirklich problematisch wird, solange man nicht gerade 120 oder 144 FPS braucht. Alles ab nem Sandy Bridge oder stark übertakteten Core 2 Quad sollte die nötige Single Core-Leistung haben.

Sicher klebt die Fury in FullHD auch mit nem i7 hin und wieder im CPU-Limit und ja, AMD könnte das eigentlich wirklich mal zurechtoptimieren, auch wenn Dx12 vor der Tür steht - aber ich denke, das sitzt man jetzt einfach aus und verlässt sich darauf, dass die Leute CPUs in ihren Rechnern haben, die mit dem ineffizienten Treiber umgehen können.

Und dieses Spiel ist nun auch ein Extremfall. Ich kann mich an einige Tests hier erinnern, wo selbst der FX quasi im Grafiklimit hing.
 
Eigentlich wollte ich ja doch mal meinen Phenom II 955 @ 3,8Ghz gegen einen FX austauschen. Nur mal so zum Testen, Übertakten und "Herumspielen". Aber das hier zeigt ja mal wirklich eindrucksvoll, was Vishera für ein Total-Aussetzer ist. Mal sehen, ob ich mich bis Zen noch gedulden kann oder ob ich zum ersten Mal überhaupt zu Intel wechsle. Eine R9 290X habe ich bereits und sehr viel länger soll die eigentlich nicht durch die CPU "unterfordert" werden.

In das Spiel habe ich schon über 60 Stunden investiert. Macht sehr viel Spaß, auch wenn ich es ziemlich schwierig finde. Man hat Mechaniker, deren Verträge man immer wieder verlängern muss. Deshalb sind meine Credits immer am unteren Limit. Das stresst schon etwas. Sonst macht es aber sehr viel Laune und ich kann das Spiel allen Rennspielfans nur wärmstens empfehlen.

-alex
 
alexander1984 schrieb:
Eigentlich wollte ich ja doch mal meinen Phenom II 955 @ 3,8Ghz gegen einen FX austauschen.

Tu es nicht.

Ich hatte einen P2 x4 955 @ 3,5GHz am laufen. Den FX hab ich mir damals nur wegen den Kernen und Spielereien mit mehreren VM`s zugelegt. Phenom2 => Bulli lohnt meiner Meinung nach zum zocken überhaupt nicht.
 
Hätt ich von meinem Phenom 2 auf einen FX gewechselt, hätt ich mich sicher geärgert heute! Wenn ich mir ansehe dass mein übertakteter i5 in The Crew Wildrun oder GTA 5 sehr gesund ausgelastet ist, weiß ich sofort dass ein FX hier wieder ein Limit darstellen würde bei meinen Settings, und sicher auch bei anderen zukünftigen Spielen machen würde.
 
VikingGe schrieb:
Ich glaube, du hast einfach nur nicht begriffen, dass das kein Schreibfehler war, sondern genau so gemeint war wie es da steht.

Da ich nicht weiß was ein naiver Port sein soll, hielt ich es für einen Schreibfehler und ich wurde auch nicht korrigiert.

VikingGe schrieb:
Ein paar Dx12-Features an einen existierenden Dx11-Renderer anflanschen

Mmmh. Is klar.

VikingGe schrieb:
Soll Vulkan jetzt Polygone an die Soundkarte schicken? Hast du überhaupt irgendeine Idee, wie die verschiedenen Subsysteme miteinander interagieren?

Es wäre besser wenn unter einem einheitlichen Programmiermodell die gleichen Funktionen abgebildet werden würden wie bei DirectX. Eben eine ganzheitliche Lösung und nicht nur 3D-Grafik. Polygone an die Soundkarte zu schicken könnte aber ein paar interessante Audioeffekte geben ;)

VikingGe schrieb:
Du willst also sagen, OpenGL sei grundsätzlich langsam?

Nein, es ist unkomfortabel, nicht so umfangreich und nicht so gut dokumentiert wie DirectX. Außerdem ist die Definition schwammig und (auch) durch das Extension-Modell fehleranfällig und schwierig zu implementieren. Wie sonst sind die teilweise existierenden Treiberkatastrophen zu erklären? Mit Unvermögen mag ich das nicht alles erklären.

EDIT: Grad mal X-Plane gestartet. Es werden 189 GL-Extensions erkannt. Preisfrage: Welcher Hersteller hat welche Extension wie implementiert, wie performant ist sie? Happy debugging. Wohl dem der keine Extensions nutzt, oder zumindest möglichst wenige.

VikingGe schrieb:
Weil AMD zu blöd ist, das ganze vernünftig zu implementieren, ja. Das ist in der Tat ein Problem bei GL - welches Vulkan aber gar nicht in dem Maße haben kann, weil die Spezifikation a) deutlich simpler ist (implizite globale Zustandswechsel sind der Feind eines jeden Programmierers) und b) vieles (Lifetime von Objekten, z.B.) der Anwendung überlässt.

Letztenendes sind die Low Level-APIs jedenfalls nicht viel mehr als Schnittstellen für VRAM-Verwaltung, Shader-Compiler und eine Abstraktionsschickt, um klar definierte Aktionen irgendwie vom Treiber in GPU-Befehle zu übersetzen.

Ich habe eine simple Kartenanzeige mit Symbolen als Overlay in einem Flugplanungsprogramm. Nutze ich Intel, stürzt der OpenGL-Treiber nach 10 Sekunden ab. Auf AMD lädt die Karte manchmal gar nicht und nur auf nVidia läuft das Programm stabil. Am Ende ist es mir egal warum wer weshalb da welchen Fehler gemacht hat. Unterm Strich läufts nicht und ich ärgere mich. Sowas brauche und will ich nicht. Gleiches gilt für X-Plane, obwohl es da zugegebenermaßen recht rund läuft. Möchte aber nicht wissen wie viele Mannstunden es gekostet hat um es auf diesen Stand zu bringen.

Wenns mit Vulkan besser laufen sollte, fein. Aber die Khronos-Group hat durch die OpenGL-Historie eben nicht den Ruf aufgebaut der es erlaubt, einfach mal so zu glauben dass alles besser wird.

Also dein Wort in Gottes Ohr. Ich glaubs erst wenn ich es sehe. Bin mal gespannt was von der Mantle-Basis noch übrig ist wenn die ganzen Parteien in der Khronos-Group ihren Senf dazugegeben haben.
 
Zuletzt bearbeitet:
DocWindows schrieb:
Da ich nicht weiß was ein naiver Port sein soll, hielt ich es für einen Schreibfehler und ich wurde auch nicht korrigiert.

Ich hatte nicht einmal realisiert, dass du das nicht verstanden hast. ;) Nativ oder nicht ist bei Renderern eine ganz andere Baustelle (Translation layers für Ports, siehe ToGL) und hat mit dem Thema hier nix zu tun.

Hier, um sowas geht es mit naiven und nicht naiven Implementierungen:
https://twitter.com/grahamsellers/status/639415794934267905

DocWindows schrieb:
Es wäre besser wenn unter einem einheitlichen Programmiermodell die gleichen Funktionen abgebildet werden würden wie bei DirectX. Eben eine ganzheitliche Lösung und nicht nur 3D-Grafik.

Nein, wäre es nicht.

Von welchen anderen APIs unter dem DirectBlabla Banner redest du überhaupt? Directsound, Directinput und Directplay gibts alle nicht mehr wirklich. Directshow gibt es noch für Videowiedergabe, wird auch mit Media Foundation ersetzt. Ist außerdem sehr relevant für Spiele. Fast so relevant wie Direct2D.

So oder so ist das alles ein Witz verglichen mit dem Aufwand, der im Renderer steckt.

Der Rest von deinen Beschwerden ist ein schlichtes Henne Ei Problem. Nutzen etwas mehr Leute, gibt es auch weniger „Bugs“ im Treiber. Bug ist relativ, das meiste ist Resultat davon, dass die Treiber alle links und rechts cheaten, egal ob bei OpenGL oder Direct3D – wenn du mal Mesa genutzt hast, wirst du bemerken, wie erstaunlich vorhersehbar und stabil das laufen kann, wenn eine ehrliche Implementierung zugrunde liegt. In der gar nicht mal so viel Arbeit steckt, verglichen mit den proprietären Monstertreibern.

DocWindows schrieb:
EDIT: Grad mal X-Plane gestartet. Es werden 189 GL-Extensions geladen. Preisfrage: Welcher Hersteller hat welche Extension wie implementiert, wie performant ist sie?

189 Vendor Extensions? Bezweifle ich. ;-) Und das Problem, wie performant etwas auf welcher Hardware ist, wirst du auch mit Vulkan und DX12 noch haben, da führt kein Weg dran vorbei.
 
Zehkul schrieb:
Hier, um sowas geht es mit naiven und nicht naiven Implementierungen:
https://twitter.com/grahamsellers/status/639415794934267905

Auf Deutsch: Besser nicht versuchen es umzufrickeln, sondern lieber bei 0 anfangen? Wär ich jetzt von alleine nicht drauf gekommen :D Muß man das extra erwähnen?

Zehkul schrieb:

Wäre es sicher, um ein attraktives Gesamtpaket für Spieleentwickler zu haben. Wenn das alles so knallergenial ist, dann frage ich mich warum man OpenGL nicht öfter nutzt, sondern nur dann wenn es unbedingt nötig ist, oder wenn man wirklich nur 3D braucht, und das möglichst plattformübergreifend. Außerdem müsste dieses Gesamtpaket gar nicht gegen diesen merkwürdigen Grundsatz verstoßen, weil man es ja komponentenbasiert lösen kann, dann aber trotzdem ein einheitliches Programmiermodell hat.

Zehkul schrieb:
Von welchen anderen APIs unter dem DirectBlabla Banner redest du überhaupt? Directsound, Directinput und Directplay gibts alle nicht mehr wirklich. Directshow gibt es noch für Videowiedergabe, wird auch mit Media Foundation ersetzt. Ist außerdem sehr relevant für Spiele. Fast so relevant wie Direct2D.

Ja sicher. Ist alles abgekündigt. DirectSound, DirectMusic, XAudio, DirectInput, XInput, DirectPlay und DirectShow braucht kein Mensch mehr. Es ist doch viel einfacher für all dies irgendwelche Drittanbieterbibliotheken mit jeweils nem eigenen Programmiermodell zu nehmen. Treiberunterstützung von Hardwareherstellern garantiert. :rolleyes:

Zehkul schrieb:
189 Vendor Extensions? Bezweifle ich. ;-) Und das Problem, wie performant etwas auf welcher Hardware ist, wirst du auch mit Vulkan und DX12 noch haben, da führt kein Weg dran vorbei.

189 Extensions insgesamt. Vendor Extensions habe ich nicht rausgerechnet. Dies gilt übrigens für den Intel-Treiber. Der nVidia-Treiber kennt lt. X-Plane 323 Extensions von denen 72 Vendor Extensions sind.
Ich kann nicht erkennen was an diesem System gut sein soll. Es scheint auch so zu sein, dass die Vendor Extensions untereinander auch noch irgendwie supportet werden. Alles wild durcheinander.

Zehkul schrieb:
Der Rest von deinen Beschwerden ist ein schlichtes Henne Ei Problem. Nutzen etwas mehr Leute, gibt es auch weniger „Bugs“ im Treiber.

Zu den Bugs im Treiber gibt es eine Besonderheit: Die Treiber für Profikarten haben diese Probleme nicht. Nur die Treiber für Consumerkarten. Warum? Ich vermute aus Kostengründen. Die Karten sind gemessen an den verbauten Chips unverschämt teuer und die Software, die diese zertifizierten Treiber braucht, dazu auch. Da kann man es sich leisten die Arbeit und Zeit zu investieren um ein ordentliches Ergebnis hinzubekommen.

Aber wie gesagt: Das kann man alles in einem Thread zu OpenGL diskutieren.
 
Zuletzt bearbeitet:
DocWindows schrieb:
Auf Deutsch: Besser nicht versuchen es umzufrickeln, sondern lieber bei 0 anfangen? Wär ich jetzt von alleine nicht drauf gekommen Muß man das extra erwähnen?

Ja, weil 90% aller aktuellen Engines definitiv nicht in einem Rutsch neugeschrieben, sondern inkrementell umgestellt werden. Wie du dort auch siehst, sind sich die Experten selbst da nicht einig. Ein kompletter Rewrite ist für Programmierer immer verführerisch, in der Praxis aber selten die beste Variante.

Mit „umfrickeln“ hat das außerdem nicht viel zu tun. Vulkan und DX12 können schlicht auch naiv genutzt werden. Da spricht nichts dagegen. Vulkan und DX12 sind keine APIs, die dir Multithreading magisch frei Haus liefern, wenn du nur „bei 0 anfängst“, was auch immer das heißen soll. Sie stehen dir lediglich nicht im Weg. Du kannst natürlich die aktuelle Architektur deiner Engine einfach weiterverwenden und munter weiter single threaded vor dich hin rendern. Und auch das kann sinnvoll sein dank höherer Kontrolle und vorhersagbareren oder gar deutlich besseren Treibern. Diese naive Implementierung ist nicht falsch, nicht gefrickelt und nicht unerwünscht, sie holt lediglich nicht das Maximum aus der API heraus – während der Code vermutlich viel simpler ist. Naiv eben. Multithreading ist kompliziert.

DocWindows schrieb:
Wäre es sicher, um ein attraktives Gesamtpaket für Spieleentwickler zu haben.

Einen größeren Funktionsumfang kannst du auch aus einzelnen Programmen zusammenschnüren, und im Zweifelsfall funktioniert das dann besser. ;-) Wenn Gesamtpakete so der Knaller wären, würde sich keiner über systemd beschweren.

DocWindows schrieb:
Wenn das alles so knallergenial ist, dann frage ich mich warum man OpenGL nicht öfter nutzt

Die Gründe wurden dir in diesem Thread bereits mehrfach erklärt, lesen hilft …

DocWindows schrieb:
Ja sicher. Ist alles abgekündigt.

Ist es. Deprecated. Microsoft selbst sagt, du sollst es nicht verwenden. ;-)

DocWindows schrieb:
Ich kann nicht erkennen was an diesem System gut sein soll.

Für gemeinsame Funktionen unterscheidet sich dieses System gar nicht großartig, und vendor spezifische Erweiterungen sind ein Vorteil, kein Nachteil. Den ganzen AZDO Kram gab es zum Beispiel schon länger als Vendor Extensions, bevor es nun mit GL4.5 in Core Profilen ist. Ist toll, brauchst du nicht ewig auf Khronos (oder Microsoft) warten, um neue Features nutzen zu können. ;-) Du kannst sogar Features nutzen, die lediglich ein Vendor hat und die es vielleicht nie auf die Karten eines anderen schaffen. Die ewige Stagnation, die D3D oft hat, gäbe es mit OpenGL schlicht nicht, bzw. nur dann, wenn man sich mal wieder nicht auf größere Umbrüche einigen kann. Wie 3.0, wie Vulkan. Einzelne Extensions? Kein Problem.

DocWindows schrieb:
Zu den Bugs im Treiber gibt es eine Besonderheit: Die Treiber für Profikarten haben diese Probleme nicht. Nur die Treiber für Consumerkarten.

Wenn du einen Weg gefunden hast, Software ohne Bugs zu schreiben, solltest du dir schnell die dir zustehenden Preise und den Platz in den Geschichtsbüchern sichern. :D

Profisoftware gibt es einfach in längst nicht so großen Massen und das ist alles auch abgestanden noch und nöcher. Codebase anno 2000, Innovation nein danke. Da lassen sich Bugs viel leichter ausbügeln, aber bugfrei ist auch hier nix. Im Gegenteil. Richtig spaßig dürfte es werden, wenn du deine eigene Profisoftware schreiben willst. Plötzlich funktioniert gar nichts. Der Lockin, den viele Profisoftware mit sich bringt, und der Mangel an Alternativen verlagert die Verantwortung noch weiter vom Anwendungsschreiber weg zum Treiber hin. Deshalb schreibt AMD auch einen Cuda → HSA Compiler, obwohl das eigentlich überhaupt nicht deren Aufgabengebiet ist.


Ob OpenGL oder nicht, die aktuellen APIs sind alle mehr oder weniger Müll. Unehrlichkeit der Treiberhersteller sorgt für Leute, die keinen ordentlichen Code schreiben können, sorgt für noch mehr Hacks im Treiber. Ja, OpenGL hat Probleme, und newsflash, Direct3D hat die wesentlichen Probleme auch alle (sonst hätte sich AMD nie um Mantle gekümmert), lediglich mitigiert durch höhere Verbreitung und die Tatsache, dass es eben funktionieren muss und kompetente Leute dafür sorgen, dass es funktioniert. Dennoch bricht das System oft genug zusammen.
 
Wobei ich bei den Vendor Extensions ehrlich gesagt sagen muss, dass ich sie nie nutzen würde, wenn es nicht einen wirklich guten Grund dafür gibt. Die Dinger sind eigentlich eher dafür da, irgendwann mal als ARB-Extension spezifiziert zu werden, auf eine Art und Weise, mit der möglichst alle Hersteller klarkommen.

DocWindows schrieb:
Außerdem müsste dieses Gesamtpaket gar nicht gegen diesen merkwürdigen Grundsatz verstoßen, weil man es ja komponentenbasiert lösen kann, dann aber trotzdem ein einheitliches Programmiermodell hat.
Das ergibt keinen Sinn. Und zwar allein schon deshalb nicht, weil 3D-Grafik, Sound und Input so grundverschieden sind, dass sie gar nicht dieselben Programmiermodelle erlauben.

- Wie funktioniert Grafik? Du sagst der Grafikkarte, was sie machen soll, erzeugst also Befehle, und verwaltest Daten im VRAM.
- Wie funktioniert Audio? Du schreibst alle paar Millisekunden mal einen Audio-Frame voller Samples in einen Buffer und bist glücklich. 3D-Sound in Hardware hat doch heute eh kein Mensch mehr.
- Wie funktioniert Input? Wahlweise über Events oder Polling. Gibt es da irgendwelche Schnittstellen zu spezifizieren? Nein. Ist es sinnvoll, ein Command- oder Buffer-basiertes Programmiermodell darauf anzuwenden? Auch nicht.

Also selbst wenn alles in einer Library steckt, benutzt man letztenendes völlig verschiedene APIs. Das ist bei DirectX so (man muss sich nur mal für zwei Minuten die Dokumentation der verschiedenen Bestandteile anschauen, zumal einige davon, wie Zehkul schon sagt, deprecated sind), das ist bei SDL so, das ist bei GLFW so.

Ab davon bietet SDL praktisch alles, was man braucht, außer eben Grafik. Grafik geht da aber mit OpenGL, Vulkan, Direct3D, ... - und es ist plattformunabhängig. Hat ein Komplettpaket von Microsoft jetzt noch irgendeinen Vorteil? Vielleicht die bessere Dokumentation, das war es aber auch.

DocLinux schrieb:
189 Extensions insgesamt. Vendor Extensions habe ich nicht rausgerechnet. Dies gilt übrigens für den Intel-Treiber.
Wie viele davon sind Core Profile-Extension? Wie viele deprecated, also gar nicht mehr kompatibel mit einem GL 3.2+ Core Profile-Context? Welche Extensions nutzt das Programm tatsächlich?

Eine GL-Revision ist ja letztenendes nur eine Sammlung von ARB- und KHR-Extensions, die unterstützt werden müssen. Als Entwickler kann man sich zumindest darauf verlassen, dass diese implementiert werden, wenn ein entsprechender Context erstellt werden kann.

Und wer Vendor Extensions für Produktionscode nutzt und sich dann wundert, dass der Wartungsaufwand steigt, hat ganz andere Probleme. Die sind auch weniger dafür da, um direkt verwendet zu werden (auch wenn man das natürlich tun kann), sondern viel eher, um neue Features vorzustellen und irgendwann mal zu einer offiziellen, Vendor-unabhängigen ARB-Extension zu werden. Z.B. AMD_pinned_memory => ARB_buffer_storage, NV_bindless_texture => ARB_bindless_texture.

D3D12 ist da nebenbei ja nicht besser. Da gibt es bestimmte Feature Levels, auf die Rücksicht genommen werden muss.
Jetzt kann man zwar sagen, dass man ja nur das nutzen muss, was auf jeder Hardware geht, aber a) nutzt man so sicherlich nicht alle Möglichkeiten modernerer Hardware, b) entspricht das doch exakt der Nutzung einer GL-Core-Version ohne zusätzlichen Extensions, oder aber man schreibt für jeden unterstützten Feature Level eigenen Code, was dann nicht besser wäre als diverse GL-Extensions zu nutzen.

DocMaxOSX schrieb:
Nein, es ist unkomfortabel, nicht so umfangreich und nicht so gut dokumentiert wie DirectX.
Unkomfortabel? Geht. DSA in GL 4.5 hat da massiv geholfen, und inzwischen unterstützt das auch jeder.
Umfangreich? Es ist ein 3D-API und kann als solches spätestens seit Version 4.3 mehr als D3D11 (MultiDrawIndirect + andere AZDO-Techniken - allesamt mit Core Profile- oder offiziellen ARB-Extensions realisierbar).

Gut dokumentiert? Es gibt das OpenGL-Wiki und zu jeder Extension ausführliche Beschreibungen. So viel anders als die MS-Doku, die aus diversen Overviews und eben der API-Dokumentation besteht, ist das jetzt nicht.

Falls du aktuelle Tutorials etc. meinst - mag sein. Mir fällt jetzt auf die Schnelle auch keines ein. Was aber auch daran liegt, dass ich OpenGL mitlerweise gut genug kenne, um mir Dinge auch aus API-unabhängigen Quellen erarbeiten zu können.

Tools? Meh. Ehrlich gesagt weiß ich nicht, was die großen Entwickler da brauchen, aber Debug-Funktionen, die - halbwegs brauchbare GL-Implementierung vorausgesetzt, insbesondere MESA - meckern, wenn man GL falsch benutzt, sind ohne großen Aufwand nutzbar, für Shader hat Nvidia ein Tool. Ist also auch nicht so, dass man es nicht benutzen könnte.

DocSolaris schrieb:
Wenn das alles so knallergenial ist, dann frage ich mich warum man OpenGL nicht öfter nutzt
a) weil man es nicht öfter nutzt und deswegen die Treiber von einem gewissen Hersteller scheiße sind und
b) weil es vor enigen Jahren technisch tatsächlich hinterher hing.

Zehkul schrieb:
während der Code vermutlich viel simpler ist. Naiv eben. Multithreading ist kompliziert.
Geht. Wenn man nicht in guter alter 90er Jahre-Java-Manier jeden Furz als riesige und undurchschaubare State Machine implementiert, lassen sich 98% aller Probleme mit Thread Pools, Queues und Multi-Buffering erschlagen. Multithreading an sich ist wirklich kein Hexenwerk.
 
Zehkul schrieb:
Ja, weil 90% aller aktuellen Engines definitiv nicht in einem Rutsch neugeschrieben, sondern inkrementell umgestellt werden. Wie du dort auch siehst, sind sich die Experten selbst da nicht einig. Ein kompletter Rewrite ist für Programmierer immer verführerisch, in der Praxis aber selten die beste Variante.

Aus der Ferne betrachtet würde ich meinen, dass solch eine inkrementelle Umstellung vielleicht bei DX9 auf 10 Sinn macht. Von 10 auf 11 auch. Von 11 auf 12 glaub ich aber nicht. Die Änderungen sind einfach zu gravierend. Da muss man doch eigentlich den gesamten Renderprozess neu denken und designen. Ansonsten verzichtet man auf viel zu viele Dinge die DX12 bietet.

Zehkul schrieb:
Mit „umfrickeln“ hat das außerdem nicht viel zu tun. Vulkan und DX12 können schlicht auch naiv genutzt werden. Da spricht nichts dagegen. Vulkan und DX12 sind keine APIs, die dir Multithreading magisch frei Haus liefern, wenn du nur „bei 0 anfängst“, was auch immer das heißen soll. Sie stehen dir lediglich nicht im Weg. Du kannst natürlich die aktuelle Architektur deiner Engine einfach weiterverwenden und munter weiter single threaded vor dich hin rendern. Und auch das kann sinnvoll sein dank höherer Kontrolle und vorhersagbareren oder gar deutlich besseren Treibern.

Dann kann man es IMHO auch gleich bleiben lassen. Was hat man dann noch als Vorteil? Packungsaufdruck und eventuell etwas weniger CPU-Overhead. Weniger CPU-Overhead hab ich jetzt mit DX11 und nVidia auch schon.

Zehkul schrieb:
Einen größeren Funktionsumfang kannst du auch aus einzelnen Programmen zusammenschnüren, und im Zweifelsfall funktioniert das dann besser. ;-) Wenn Gesamtpakete so der Knaller wären, würde sich keiner über systemd beschweren.

Es beschweren sich nicht besonders viele über Systemd hab ich gehört. Die meisten finden es gut und in Distributionen hält es erstaunlich schnell Einzug. Diese "One Tool one Job" Geschichte aus dem IT-Pleistozän überholt sich langsam.

Zehkul schrieb:
Die Gründe wurden dir in diesem Thread bereits mehrfach erklärt, lesen hilft …

Mir wurden die Gründe erklärt warum OpenGL 3.0 problematisch war. Nicht warum es schon vorher mit 2.x und hinterher mit 4.x vor sich hindümpelte.

Zehkul schrieb:
Ist es. Deprecated. Microsoft selbst sagt, du sollst es nicht verwenden. ;-)

Das ist Unfug. Lies nochmal was ich aufgezählt habe. Die deprecated APIs werden durch neue APIs unter dem gleichen DirectX-Dach abgelöst. Deprecated sind diese 2-3 Techniken auch schon länger und weiterentwickelt wurden sie seit DX8/9 auch nicht mehr. DX12 wäre ein guter Zeitpunkt diese Zöpfe abzuschneiden. Wer DX11 verwendet kann sie dann auch weiterhin nutzen und mit DX12 muss man die neuen verwenden. Den Abwasch könnte man gleich gut mit erledigen.

Zehkul schrieb:
Für gemeinsame Funktionen unterscheidet sich dieses System gar nicht großartig, und vendor spezifische Erweiterungen sind ein Vorteil, kein Nachteil. Den ganzen AZDO Kram gab es zum Beispiel schon länger als Vendor Extensions, bevor es nun mit GL4.5 in Core Profilen ist. Ist toll, brauchst du nicht ewig auf Khronos (oder Microsoft) warten, um neue Features nutzen zu können. ;-)

Für mich hört sich das so an als ob jemand einen Standard will, der eigentlich gar keinen Standard will. Wüßte auch nicht was daran toll ist wenn ich mit Grafikkarte A ein anderes Erlebnis habe als mit Grafikkarte B. Ist ja wie bei Gameworks ;)

VikingGe schrieb:
Das ergibt keinen Sinn. Und zwar allein schon deshalb nicht, weil 3D-Grafik, Sound und Input so grundverschieden sind, dass sie gar nicht dieselben Programmiermodelle erlauben.

Ich meine damit eine einheitliche Form von Funktionen, deren Prototypbeschreibungen, der Logik wie man die API anwendet und das Objektmodell. Das alles garniert mit einer einheitlichen Doku mit Beispielen die auch übergreifend ausgelegt werden können. Es sind immer die gleichen Muster wo man auch mal was ableiten kann ohne in die Doku schauen zu müssen. Ich glaube gern dass du viel mit OpenGL entwickelst, wenn ich die Sichtweise betrachte. Ich seh das alles viel abstrakter und nicht so technikbezogen.

VikingGe schrieb:
Ab davon bietet SDL praktisch alles, was man braucht, außer eben Grafik. Grafik geht da aber mit OpenGL, Vulkan, Direct3D, ... - und es ist plattformunabhängig. Hat ein Komplettpaket von Microsoft jetzt noch irgendeinen Vorteil? Vielleicht die bessere Dokumentation, das war es aber auch.

SDL setzt unter Windows auch nur auf DirectX auf. Hab das im Quellcode nachgesehen am Input-Beispiel. Ist also nur von Vorteil wenn man Multiplattform programmiert. Wenn man eh DirectX nutzt kann man sich das auch sparen.
 
Zuletzt bearbeitet:
Mich würde trotzdem interessieren, wie verschiedene AMD-CPUs in dem Spiel abschneiden. Hoch getakteter FX-6xx0 vs niedrig getakteter FX-8xx0 bzw hoch getakteter FX-8xx0.
Da ja eine Treiber-Anpassung für AMD-GPUs kommen soll: Könnte es sein, dass diese Anpassung auch Verbesserungen für die Kombination aus AMD-CPU und GPU bringen wird?
-alex
 
Früher oder später bestimmt. Ich glaube nicht, dass AMD DX11 komplett aussitzen kann oder es überhaupt vorhat. Dazu gibt es viel zu viele faule und schlechte Devs, für die DX12 zu kompliziert ist und deren alte Engine ewig auf 11 rumdümpeln wird … oder gar noch auf 9.

Die Frage ist für mich in erster Linie, wie viel von Nvidias schwarzer Magie nun spiel-spezifisch ist und man es nur nicht bemerkt, weil sie alles zu Release schon parat haben – oder was von vornherein für Nvidia Hacks geschrieben wurde. Generelle Multithreading Optimierungen werden aber natürlich allen Spielen, auch alten, helfen.

VikingGe schrieb:
Multithreading an sich ist wirklich kein Hexenwerk.

Bis die Race Conditions anfangen. :P


DocWindows schrieb:
Für mich hört sich das so an als ob jemand einen Standard will, der eigentlich gar keinen Standard will. Wüßte auch nicht was daran toll ist wenn ich mit Grafikkarte A ein anderes Erlebnis habe als mit Grafikkarte B. Ist ja wie bei Gameworks ;)

Nur so gibt es Innovation. Von den Grafikkartenherstellern erstellte Programme, die tolle neue Effekte zeigen, die auf deren Hardware machbar sind, gibt es übrigens auch schon ewig und sind absolut nichts schlechtes. Das Problem hinter Gameworks ist, dass Nvidia plötzlich keinen Source Code dafür herausgibt, sondern Binaries verteilt und das Ganze mehr als zugemauerten Garten im Nvidialand versteht anstatt als den Antrieb hinter Innovation, der es sein sollte.

DocWindows schrieb:
Es beschweren sich nicht besonders viele über Systemd hab ich gehört.

Hahaha …

Als Init System ist es gut (und in erster Linie auch ziemlich konkurrenzlos), aber ob sich der ganze andere Bloat, den Poettering nach und nach hinzufügt, durchsetzen wird, ist fraglich. Die systemd Situation ist auch insofern speziell, dass Redhat so ziemlich die einzige Firma ist, die in Linux Infrastruktur investiert, ergo mit Geld die Richtung angeben kann, auch wenn diese Richtung vielleicht nicht die beste ist. Da Geld drinsteckt, werden deren Projekte am Ende vermutlich auch ohne perfekten Plan dahinter besser sein als ideale Ideen, an denen niemand arbeitet. (Oder die Canonical mit CLAs und NIH erstickt)

DocWindows schrieb:
Dann kann man es IMHO auch gleich bleiben lassen. Was hat man dann noch als Vorteil? Packungsaufdruck und eventuell etwas weniger CPU-Overhead. Weniger CPU-Overhead hab ich jetzt mit DX11 und nVidia auch schon.

Und bessere Kontrolle, Vorhersagbarkeit, ergo Wartbarkeit … Und nein, mit Nvidia hast du lediglich etwas Multithreading, das ist, was viele unter “CPU Overhead” verstehen, da zwischen “CPU ist überlasted” und “ein CPU Kern ist überlastet” zu unterscheiden offenbar zu schwer für die meisten ist.

DocWindows schrieb:
Aus der Ferne betrachtet würde ich meinen, dass solch eine inkrementelle Umstellung vielleicht bei DX9 auf 10 Sinn macht. Von 10 auf 11 auch. Von 11 auf 12 glaub ich aber nicht.

Und du weißt das ganz offensichtlich besser als zum Beispiel die Leute bei Epic hinter der Unreal Engine, klar. Ne, das wird mir zu blöd hier. ;-)
 
Zuckerwatte schrieb:
Weil du so schön am austeilen bist....

CPU Benchmark :freak:=> Was hat Nvidia hiermit zu tun? (abgesehen vom geringeren DX11 Overhead)
Ich kann genauso gut fragen CPU Benchmark. Was hat CMAA damit zu tun? :freak:

Das AA muss die GPU von Nvidia oder AMD berechnen. Deswegen die Frage wer denn nun bevorzugt wird. Den Sarkasmus sollte selbst nen Blinder rauslesen.
Es ist eben einfach nur selten dämlich hier rumstänkern zu wollen, weil Intel angeblich bevorzugt wird. Ohne CMAA wäre die AMD CPU wahrscheinlich sogar schneller als die Intels. :rolleyes:
 
Zurück
Oben