@ janeeisklar
Ich habe das Gefühl, dass wir unterschiedliche Definitionen von Konformheit besitzen, wo wir uns nicht einig werden. Wenn du Konformheit unbedingt definieren willst als "Treiber muss das innerlich unbedingt parallel machen" kann ich daran nichts ändern. Ich habe nur erklärt, wieso APIs wie Vulkan oder DX 12 dies nicht vorschreiben, man es in der Informatik im Allgemeinen nicht so sieht, und zudem wieso es sinnvoll ist dass NVIDIA GPUs auf diese Art und Weise dennoch DX 12 Programme ausführen können.
@ ampre
Schön wie du dich in Wiedersprüche verstrickst. Erst ist es ganz Simpel mit DX12 und in dem Post jetzt ist es auf einmal gar nicht mehr so einfach! Genau das meine ich! Kein Mensch weiß was einem die ganzen Angaben bringen etc. Die Tiers und DX12.0 und DX12.1 sind zu nichts zu gebrauchen! Außer das es mit der Karte DX12 Spiele funktionieren.
Du traust dem Kunden nicht zu begreifen was sich hinter DX 12 Support und den Feature Levels verbirgt, nur um ihn dann mit einer Liste von was wie und wo in Hardware implementiert ist zu überhäufen, in der Hoffnung er würde die richtige Kaufentscheidung treffen? Wäre das zudem nicht auch irreführend, wenn er denkt, oh eine R 250, die kann alles in Hardware und muss deshalb schneller sein als eine Titan X? Deshalb wie bereits vorher gesagt: Wie jetzt etwas Hardware beschleunigt ist ist irrelevant. Auf die Gesamtperformance kommt es an. Wieso deshalb nicht einfach eine Performance Metrik auf die Packung drucken (wie das letztendlich mal definiert werden soll sei dahingestellt). Wäre das nicht sinnvoller? Oder wäre es unsinnvoll, weil NVIDIA dann nicht ganz so schlecht darstehen würde, wie von dir erhofft?
Wie gut oder wie Lahm liest man aber nicht daraus. Das suggeriern hier aber einige im Forum!
Das suggerieren hier eigentlich hauptsächlich diejenigen Leute, die immer schreiben NVIDIA sei zu lahm unter DX 12 und würde deshalb kein DX 12 unterstützen, weshalb man es auch nicht kaufen sollte.
Wie eine GPU die nichts in Hardware kann schneller sein kann als eine in Hardware musst du mir erst mal zeigen!
Das war ein extremes Beispiel und mit konjunktiv geschrieben um meine Argumentation zu verdeutlichen, dass es prinzipiell möglich ist. Denn Hardwarebeschleunigung sagt nicht über die Gesamtperformance aus: Ein moderner 12 Kerner wird zum Beispiel deutlich schneller sein als eine GPU von vor 15 Jahren. Zudem ist die Hardwarebeschleunigung immer ein zweischneidiges Schwert: Sie beschleunigt zwar diverse Operationen, die dann günstiger werden. Jedoch können auch bei diesen Operationen zusätzliche Flaschenhälse entstehen, wenn die Hardwarebeschleunigung nicht schnell genug ist. Zudem benötigt es Chipfläche, die man stattessen auch für allgemeinere Rechenwerke verwenden könnte.
Ein paar Beispiele dazu: Moderne GPUs lagern Fixed Function Berechnungen aus der Rasterpipeline teilweise in die Shader aus. Macht die Rasterpipeline schlanker wodurch sie weniger Platz braucht, der für weitere Shader verwendet werden kann. Dafür verschwendet es dann ein paar Berechnungen in den Shadern. Analog ist es mit den Texture Units. Teilweise werden die für das Texture Sampling benötigten Berechnungen heutzutage von den FPUs/ALUs durchgeführt. Des Weiteren habe ich damals mal einen Bilinearen Texture Filter in Fermi für 4xF32 geschrieben, der wenn ich mich recht erinnere sogar ein bisschen schneller war als die Texture units.
Das war schon immer so. Sag mir ein Feature was schneller auf der GPU läuft als Emuliert auf der CPU?
Es geht um die Gesamtperformance. Eine Geforce Titan X kann eine Radeon R 250 auch in Benchmarks die Async Compute verwenden deutlich abhängen. Somit wäre es fatal eine R 250 einer Geforce Titan X vorzuziehen.
@ Zotac
Danke, aber ja darüber musste ich auch schmunzeln. Ich habe mir sogar kurzzeitig überlegt dieses Zitat in meine Signatur aufzunehmen