Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Ich denke nicht dass Vulkan DirectX ablösen wird.
Es wird nach und nach den Platz von OpenGL einnehmen und parallel zu directX existieren. Es wird nicht der Mainstream werden aber wird mit Sicherheit häufig genutzt werden, wenn man sein Spiel auf verschiedenen Betriebssystemen veröffentlichen möchte. OpenGL wird sterben.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Weil Vulkan die deutlich sinnvollere API ist, sie ist nicht nur auf EIN Betriebssystem limitiert, sondern läuft praktisch überall. MS will immer noch Win 10 auf Teufel komm raus pushen. Windows 10 hat noch haufenweise Bugs. Benutze mal ein USB Mikrofon oder Mischpult unter Windows 10 wo es keine eigenen (vom Hersteller) geschriebene Treiber gibt, dann werden die Standardtreiber genommen und da sind die Aufnahmen dann übelst Leise und man muss den Pegel hochdrehen, danach hörst du ein Eichhörnchen im Wald furzen... bzw. hast diverse Nebengräusche im Ton die man dann auch mit Noisegate nur bedingt filtern kann. MS weiß von diesem Bug, den gibt es seit Windows 8. Sie haben kein Interesse daran den Bug zu fixen. Dazu kommt die künstliche Windows 10 limitierung wegen CPUs...

Gibt es da schon quasi Beweise, dass es out of the box funktioniert? Also von Windows 2000 bis 10, für alle Linux-Dis etc.pp. und vllt sogar MAC? Also es gibt selten eine eierlegende Wollmilchsau, die auch wirklich funktioniert.

Die Gefahr hat niemals bestanden, denn nV war von Anfang an Teil der Kronos-Gruppe, hätte also vollen Einfluss auf Vulkan. Die einzige Fragmentierung des GPU-Marktes kam immer nur von nVidia, selbst Mantle hätten sie schon frei unterstützen können, wollten es nur nicht, weil vom Konkurrenten...

Was ändert dies am Fakt, dass es so ist? Und wie schon geschrieben, warum sollte ich Zeit zum Portieren investieren, die Konkurrenz unterstützen und und und. Es steht halt irgendwie mehr auf der Contra- als auf der Proseite. Ich meine da würde an ein "festhalten" und "erweitern" eines DX halt sinniger sein. Ja klar alle BS, aber man kann halt nicht immer jeden alten Mist mitschleppen. Irgendwann müssen alte Zöpfe abgeschnitten werden. Das man Linux komplett draußen lässt ist halt suboptimal, aber für 90% unerheblich.
 
Zuletzt bearbeitet:
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

und darum hat man beim aktuellen Wolfenstein wieder auf OpenGl , ach nein warte hat man ja nicht ...
die Performance war auf Open GL auch ziemlich besch...eiden, weshalb wohl auch keiner eine Traene an OpenGl verschwendet hat .

Danke das du so offenkundig zeigst das du keine Ahnung von Hardware oder Programmieren hast.
Es hat nen Grund warum es OpenGl nicht nur noch immer gibt, sondern andere APIs ständig davon kopieren. Leistungsfähig ist es alle mal, aber wenn man schlecht programmiert dann hilft die beste API nichts - sie man ja auch gut daran wie sau schlecht der OpenGL support bei AMD ist.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

MultiGPU hört sich gut an. Hoffentlich gibt es bald MultiGPU exklusive Titel. :D Dann würde die Grafik der Spiele auch mal wieder ein bischen vorran kommen.:)
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Gibt es da schon quasi Beweise, dass es out of the box funktioniert? Also von Windows 2000 bis 10, für alle Linux-Dis etc.pp. und vllt sogar MAC? Also es gibt selten eine eierlegende Wollmilchsau, die auch wirklich funktioniert.

Ich glaube kaum, dass es noch viel Sinn macht, Win2000 und/oder XP zu unterstützen. Irgendwo muss man auch als (Treiber-) Entwickler einen Strich ziehen. Abgesehen davon, dass moderne Hardware unter solch alten OS ohnehin nicht mehr laufen dürfte. Und man sieht ja bei Win7/8(.1) wie aktuelle CPUs funktionieren. Entweder wird es seitens MS blockiert, oder man hat Einschränkungen. NVIDIA und AMD werfen nicht ohne Grund die Unterstützung für ältere Betriebssysteme über Board. Ich finde es auch nicht unbedingt gut, vor allem, wenn man ältere Hardware hat und nur ein neueres OS benutze möchte. Für eine Radeon 3870 gab es Anfangs keine Win 8.1 Treiber, für Win 8.0 jedoch schon und der hat unter 8.1 nicht funktioniert, später gab es irgendwann einen neueren Treiber, den gibt es aber nur über Windows Update.

Natürlich könnte man ältere Hardware unterstützen, aber das ist dann viel zu aufwendig und Zeitraubend - zumal man dann noch paar Programmierer mehr braucht und die kosten alle Geld... (jetzt ratet mal warum AMD manche Dinge Opensource gemacht hat)
 
Zuletzt bearbeitet:
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Was ändert dies am Fakt, dass es so ist? Und wie schon geschrieben, warum sollte ich Zeit zum Portieren investieren, die Konkurrenz unterstützen und und und. Es steht halt irgendwie mehr auf der Contra- als auf der Proseite. Ich meine da würde an ein "festhalten" und "erweitern" eines DX halt sinniger sein. Ja klar alle BS, aber man kann halt nicht immer jeden alten Mist mitschleppen. Irgendwann müssen alte Zöpfe abgeschnitten werden. Das man Linux komplett draußen lässt ist halt suboptimal, aber für 90% unerheblich.

Ich behaupte ja auch nicht, dass eine LL-API einfach für Spieleentwickler umzusetzen wäre, sondern nur, das es dadurch nicht zu einer von dir befurchteten Fragmentierung des Marktes käme. Klar DX 11 ist für die Produzenten um Längen einfacher, da sie es ohne eigenen Aufwand implementieren können, die wahre Arbeit leisten hinterher die Treiberhersteller, die sich darum kümmern müssen, dass ein Spiel auf ihren Karten läuft...
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Ich meine da würde an ein "festhalten" und "erweitern" eines DX halt sinniger sein. Ja klar alle BS, aber man kann halt nicht immer jeden alten Mist mitschleppen. Irgendwann müssen alte Zöpfe abgeschnitten werden. Das man Linux komplett draußen lässt ist halt suboptimal, aber für 90% unerheblich.

Eher sollte wohl DX und auch andere Sachen wie Apples Metal fallen gelassen werden, um nicht Plattformabhängig zu sein. Der Grund ist doch nur, um die User an ihre Plattformen binden zu können bzw. einen Kaufgrund fürs neue BS zu erschaffen (siehe DX12 Window 10 only) und nicht, weil es den Konsumenten was bringt. Wir sind als PC-Gamer quasi Microsoft ausgeliefert und die können treiben was sie wollen. Uns bleibt nur die Wahl zähneknirschend jeden Mist hinzunehmen oder zu verzichten.
Natürlich bringt die alleinige Unterstützung von Vulkan nichts, wenn die Spiele trotzdem nicht für Linux oder andere BS mit Vulkan-Support erscheinen. Dann braucht man Vulkan wirklich nicht, außer es bringt anderweitige Vorteile.

Windows ist übrigens ein richtig alter Zopf, genauso wie die x86er Architektur und es gab schon in den 90ern völlig neue CPUs die zeigten, was man an Performance rausholen kann, wenn man Abwärtskompatibilität komplett fallen lässt.
Ob wir das aber wollen, steht auf einem anderen Blatt, da zig Generationen an Konsolen und Home-Computern schon genug Platz verschwenden, außer man spielt nur immer das Neuste oder emuliert. Die meisten Windows 9x Spiele laufen selbst auf Window 10 noch mit bisschen Hilfe von dgVoodoo und Co.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Danke das du so offenkundig zeigst das du keine Ahnung von Hardware oder Programmieren hast.
Es hat nen Grund warum es OpenGl nicht nur noch immer gibt, sondern andere APIs ständig davon kopieren. Leistungsfähig ist es alle mal, aber wenn man schlecht programmiert dann hilft die beste API nichts - sie man ja auch gut daran wie sau schlecht der OpenGL support bei AMD ist.

ja klar ID Soft hat Wolfenstein fuer OpenGl natuerlich Total verhauen weil ja nur 0815 Spiel und bei Vulkan jetzt haben sie sich soviel Muehe gegeben weil AMD Vulkan Pushen wollte ?
Also ehrlich Egal ob mit AMD oder Nvidia Karte , im vergleich zu Wolfenstein 2 kannst du Wolfenstein mit OGL in die Tonne kloppen , da muss ich auch keine Ahnung von was auch immer haben um das zu merken ...
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Bei Protected Content handelt es sich effektiv um ein DRM-System, um Render- und Anzeigeprozessen den Zugriff auf Daten und das Kopieren dieser zu beschränken. Solche Systeme nutzt beispielsweise Netflix, um sicherzustellen, dass Filme und Serien nicht illegal vervielfältigt werden.

Hießt das es gibt eine Chance auf Netflix 4K ohne PlayReady3.0 oder war Netflix hier nur ein Beispiel?
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Danke das du so offenkundig zeigst das du keine Ahnung von Hardware oder Programmieren hast.
Es hat nen Grund warum es OpenGl nicht nur noch immer gibt, sondern andere APIs ständig davon kopieren. Leistungsfähig ist es alle mal, aber wenn man schlecht programmiert dann hilft die beste API nichts - sie man ja auch gut daran wie sau schlecht der OpenGL support bei AMD ist.
Naja, so ganz taufrisch ist OpenGL aber leider auch nicht, besonders im Vergleich zu Direct3D. Die API schleppt ne ganze Menge Altlasten mit sich rum, und ist teilweise echt mies dokumentiert. Microsoft hat beim Sprung von 9 auf 10 viele alte Zöpfe abgeschnitten, OpenGL hat das in der Form bis heute nicht geschafft.

Guck dir mal den OpenGL Code eines hinreichend komplexen Projekts an. Das ist eine Mischung aus Hirntumor und schwarzer Magie. Es gibt alleine 3 Methoden um eine Textur in den Speicher zu laden, wohlgemerkt alle nicht ordentlich dokumentiert und nicht mit jeder API-Version kompatibel. Im Gegensatz dazu wirkt Direct3D super aufgeräumt, gut dokumentiert, und vor allem mit hinreichend vielen Beispielen aus den SDKs ausgestattet. Es hat gute Gründe, warum Spieleentwickler heute Direct3D benutzen und nicht OpenGL, und das liegt nicht (nur) an Geldkoffern aus Redmond.

(Edit: )
Ich bin ganz ehrlich: Mir persönlich, und ich denke auch einem Großteil der Industrie, wäre eine aufgeräumte, gut dokumentierte aber trotzdem einfach zu bedienende 3D-API lieber gewesen als Vulkan. Halt ein aufgeräumtes, modernisiertes OpenGL. Denn Vulkan ist für praktisch Alles außer AAA-Games vollkommen überdimensioniert. Ich habe mal mit Vulkan ein gespielt, und ich glaube es macht mit Vulkan mehr Aufwand ein einziges Dreieck zu zeichnen, als mit Direct3D ein kleines Spiel zu entwickeln (z.B. ein kleines Shoot-Em-Up).
(Ende Edit)

Zu den AMD-Treibern: Sie sind natürlich indiskutabel mies, aber was will man machen: Die Firma hat kein Geld, da würde ich auch alle Ressourcen in die Optimierung der API stecken, die in 99.9% aller performancerelevanten Spiele verwendet wird.
 
Zuletzt bearbeitet:
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

ja klar ID Soft hat Wolfenstein fuer OpenGl natuerlich Total verhauen weil ja nur 0815 Spiel und bei Vulkan jetzt haben sie sich soviel Muehe gegeben weil AMD Vulkan Pushen wollte ?
Also ehrlich Egal ob mit AMD oder Nvidia Karte , im vergleich zu Wolfenstein 2 kannst du Wolfenstein mit OGL in die Tonne kloppen , da muss ich auch keine Ahnung von was auch immer haben um das zu merken ...
Nun, Doom zB hat auch mit Vulkan spezielle AMD exklusiv Erweiterungen genutzt um auf AMD karten Vulkan zu pushen. Ja- hersteller amchen sowas des öfteren - sieht man auch recht gut an den Spielen die oft teils auf Nvidia oder AMD karten weit aus besser laufen als anders rum.

Das OpenGL langsam ist ist genauso eine falsche Behauptung wie das Java langsam sein (Und ja - Java ist schnell - genauso schnell wie C++ - wenn die Programmierer damit nicht umgehen können ist es nicht die Schuld der Api/Sprache).



Guck dir mal den OpenGL Code eines hinreichend komplexen Projekts an. Das ist eine Mischung aus Hirntumor und schwarzer Magie. Es gibt alleine 3 Methoden um eine Textur in den Speicher zu laden, wohlgemerkt alle nicht ordentlich dokumentiert und nicht mit jeder API-Version kompatibel. Im Gegensatz dazu wirkt Direct3D super aufgeräumt, gut dokumentiert, und vor allem mit hinreichend vielen Beispielen aus den SDKs ausgestattet. Es hat gute Gründe, warum Spieleentwickler heute Direct3D benutzen und nicht OpenGL, und das liegt nicht (nur) an Geldkoffern aus Redmond.

Spätestens seit ogl 4.x kann man das nichtmehr sagen - es gibt sehr gute Dokumentationen dazu - es ist nicht die Schuld von OpenGL wenn noch viele Entwickler alten 1.x oder 2.x Style nutzen.
Schau dir doch mal an wie viele möglichkeiten es in Vulkan gibt verschiedenste Sachen zu erledigen - das ist bei Apis bzw beim programmieren allgemein etwas das man haben möchte - sie alle machen leicht Unterschiedliche Sachen die sehr oft benötigt werden.
Und klar hat es gründe warum Entwickler DirectX nutzen - OpenGL hat (vor langer Zeit) richtig verschlafen und Microsoft hat das genutzt um ihre Api zu pushen - mit einem sehr guten SDK, gutem Support, und direkter Hilfe für Entwickler.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Java kann prinzipiell nicht so schnell sein wie C++, genauso wie OGL und DX11 und darunter nie so schnell sein können wie DX12 und Vulkan, wenn die Anwendung an die Designgrenzen der Programmiersprache bzw. API stößt.
Bei Java ist es das fehlen vom expliziten Memory-Managament, wo die Garbage Collection niemals so funktionieren wird, dass universal für jedes Anwendungsdesign das beste Resultat hervorgebracht wird und der Overhead immer minimal ausfällt und genauso wie OGL und DX11 niemals an die neuen APIs herankommen können, weil auch dort das ganze State/Threading-Model und das implizite Resource-Management niemals so gute Ergebnisse erzielen können, wie die neuen APIs.

Java/DX11/OGL sind dann so schnell wie C++/DX12/Vulkan bzw. schneller, wenn die Anwendung in einem Rahmen bleibt, wo die Designaspekte nicht limitieren, aber C++, DX12 und Vulkan existieren für einen Grund und Anwendungsfall, für den wo es neue Spezifikationen und Regeln für eine bessere Performance benötigt.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Ich habe mal mit Vulkan ein gespielt, und ich glaube es macht mit Vulkan mehr Aufwand ein einziges Dreieck zu zeichnen, als mit Direct3D ein kleines Spiel zu entwickeln
Es ist zwar tatsächlich aufwändiger, Vulkan "aufzusetzen", aber da ist vieles dabei, was man genau 1x machen muss und beliebig wiederverwenden kann - Swapchain-Zeugs, Memory-Allocator, Device-Auswahl etc.

Wenn man das erstmal hat, hält sich der Aufwand m.E. eigentlich in Grenzen. Man sollte halt wissen, was man tut, um die ganze Synchronisation etc. richtig hinzubekommen, und muss sich teilweise immer noch mit unfertigen Treibern herumschlagen (bei Nvidia nervt der SPIR-V-Compiler mit Abstürzen und Fehlern, AMD auf Windows stürzt gerne mal aus unerklärlichen Gründen ab, AMDVLK taugt nach wie vor nicht, RADV hat immer mal wieder kleine Fehler und recht miesen Vega-Support).
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Gott sei Dank gibt es aktuell eine viel gesündere Dynamik im Vergleich zu damals.
Man schaue sich nur die historische Entwicklung und den Support von OGL an und wie er jetzt aussieht und dann noch wie die Situation bei Vulkan ausschaut.
Dramatisch besser.

Bezüglich Vulkan war die Spec und Dokumentation sofort öffentlich, es gab von Beginn an relativ robuste Conformance Tests für die Treiber und der Treibersupport ist Herstellerübergreifend massiv besser bzw. schneller umgesetzt.
Bei AMD hat man praktisch sogar drei verschiedene Treiber-Packages (Windows VLK, Linux VLK, Linux RADV) zum Start für Vulkan 1.1 gehabt und praktisch alle sind Open-Source (Windows VLK verwendet nur einen anderen und geschlossenen Compiler, will aber auch auf den custom LLVM Compiler umstellen)
Früher hat man ein paar Monate gewartet bis AMDs proprietärer Treiber den neusten OGL-Standard umgesetzt hat und dann noch ein paar Jahre bis der offene Mesa-Treiber nachgezogen ist.

Es gibt auch viele Tutorials und praktische Middleware um den Vulkan Einstieg deutlich zu erleichtern, z.B. bietet AMD auch einen generischen Memory-Allocator an, um die Arbeit an dem Grundbaustein abzunehmen und schneller ein funktionierendes Gerüst auf die Beine zu stellen.
Für Hobbyentwickler gibt es viele Bonbons von der ganzen Community, aber es natürlich trotzdem kein einfacher Schinken.
Für den Kommerz ist die Situation allerdings relativ klar, ohne lizenzierte Engine fängt kaum einer ein Projekt an und dort wird die nötige Arbeit natürlich verrichtet.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Ich glaube kaum, dass es noch viel Sinn macht, Win2000 und/oder XP zu unterstützen. Irgendwo muss man auch als (Treiber-) Entwickler einen Strich ziehen. Abgesehen davon, dass moderne Hardware unter solch alten OS ohnehin nicht mehr laufen dürfte. Und man sieht ja bei Win7/8(.1) wie aktuelle CPUs funktionieren. Entweder wird es seitens MS blockiert, oder man hat Einschränkungen. NVIDIA und AMD werfen nicht ohne Grund die Unterstützung für ältere Betriebssysteme über Board. Ich finde es auch nicht unbedingt gut, vor allem, wenn man ältere Hardware hat und nur ein neueres OS benutze möchte. Für eine Radeon 3870 gab es Anfangs keine Win 8.1 Treiber, für Win 8.0 jedoch schon und der hat unter 8.1 nicht funktioniert, später gab es irgendwann einen neueren Treiber, den gibt es aber nur über Windows Update.

Natürlich könnte man ältere Hardware unterstützen, aber das ist dann viel zu aufwendig und Zeitraubend - zumal man dann noch paar Programmierer mehr braucht und die kosten alle Geld... (jetzt ratet mal warum AMD manche Dinge Opensource gemacht hat)

Und wer definiert "wo der Strich gezogen wird"? Aber im Kern trifft es doch was ich meine. Man kann nicht immer alle abholen. Ob der Ansatz auch wirklich funktioniert, muss auch erst bewiesen werden. Lange Rede, gar kein Sinn: ich bin und bleibe skeptisch ob das für uns Gamer und für den Casualmarkt wirklich gut ist.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

9 von 10 DX12 spiele laufen schlechter als unter DX11 und 10 von 10 vulkan games laufen besser als unter DX11 oder DX12.
was spricht da für DX? gar nichts. es ist müll.

auf den Konsolen gibt es schon seit Jahren die close-to-metal APIs.

die PS4 hat zwei APIs. eine low-level und eine high-level.
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Es gibt praktisch keinen nennenswerten Performanceunterschied zwischen Vulkan und DX12, wenn 10 von 10 Spielen mit Vulkan schneller laufen, dann würden die gleichen Spiele auch mit DX12 in 10 von 10 Fällen schneller laufen.

Edit: Oh das Gedächtnis schaltet sich wieder ein, sam10k du bist ja nur ein irrationaler basher, da kann man sich jede Hoffnung auf eine vernünftige Diskussion wohl sparen.
 
Zuletzt bearbeitet:
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Und wer definiert "wo der Strich gezogen wird"? Aber im Kern trifft es doch was ich meine. Man kann nicht immer alle abholen. Ob der Ansatz auch wirklich funktioniert, muss auch erst bewiesen werden. Lange Rede, gar kein Sinn: ich bin und bleibe skeptisch ob das für uns Gamer und für den Casualmarkt wirklich gut ist.

Kommt Zeit, kommt Vulkan :D
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Ich sah ja den Ansatz von Vulkan von Anfang an kritisch, nicht weil es von AMD kommt, sondern dass es zu noch unterschiedlichen Szenarien für den Endkunden hinausläuft. Nachher muss man nicht nur gucken von wem man die Grafikkarte kauft, sondern welche API zum Einsatz kommt.
Warum sollte das so sein?


Weil Vulkan die deutlich sinnvollere API ist, sie ist nicht nur auf EIN Betriebssystem limitiert, sondern läuft praktisch überall.
Konsolen...


9 von 10 DX12 spiele laufen schlechter als unter DX11 und 10 von 10 vulkan games laufen besser als unter DX11 oder DX12.
Zähl die Spiele doch mal auf!

was spricht da für DX?
Die XBone!

die PS4 hat zwei APIs. eine low-level und eine high-level.
Tolle Sache, aber unter Windows gibt es halt keine Low-Level-API!
 
AW: Vulkan 1.1: Vereinfachte DirectX-Portierung, Multi-GPU und DRM-Unterstützung

Passende Beta Treiber mit Vulkan 1.1 Unterstützung für Windows (389.10) und Linux (387.42.05) hier.
 
Zurück