DirectX-API-Ebene vs. Funktionsebene

DirectX-API-Ebene vs. Funktionsebene

Zwei Grafikkarten haben jeweils die folgenden DirectX-Spezifikationen:

  • DirectX 11.2 (Funktionsebene 11_0)
  • DirectX 12 API (Funktionsebene 11_0)

Was ist der Unterschied?

Antwort1

In jedem DX-Update gibt es Funktionen, die neue Hardware erfordern, und Funktionen, die von bereits veröffentlichter Hardware unterstützt werden. DX12 ist keine Ausnahme.

Hier ist beispielsweise das aktuelle Diagramm für DX11

Bildbeschreibung hier eingeben

Der Zweck der Funktion auf Feature-Ebene besteht darin, Entwicklern die Ausrichtung auf eine einzelne API zu ermöglichen, anstatt parallel separate Codebasen zu entwickeln, um sicherzustellen, dass ein Spiel auf mehreren Generationen von GPU-Hardware reibungslos läuft, anstatt separaten Code für DX12, DX11, DX10 usw. zu schreiben. Eine DirectX 11-GPU mit Feature-Ebene 9_3 könnte nicht auf magische Weise DirectX 11-Effekte ausführen, aber sie könnte Spiele im DirectX 9-Modus ausführen, ohne dass der Entwickler dafür eine völlig separate Engine-Implementierung schreiben müsste.

Die meisten Websites, die sich mit DX12 befassen, sprechen wahrscheinlich über die enormen potenziellen Leistungssteigerungen, die DX12 mit sich bringt. Ihre aktuelle Karte wird diese Änderungen unterstützen.

Es ist wichtig, sich daran zu erinnern, dass die Multithreading- und Multi-GPU-Funktionen von DirectX 12, die wir bislang in der Vorschau gesehen haben (und über Mantle demonstriert haben), auf jeder Funktionsebene weiterhin vollständig verfügbar sind.

Bildbeschreibung hier eingeben

Zusätzlich:

Kein aktueller Intel IGP unterstützt DirectX 12_0, während nur die Maxwell-Hardware von Nvidia 12_0 oder 12_1 unterstützt.

Was ist bei DX12 etwas anders?

Um zu verstehen, warum Microsoft DirectX 12 so entwickelt hat, wie es entwickelt wurde, betrachten wir die Alternative. Vor DirectX 11 war jede neue DirectX-Version an neue Hardwareanforderungen gebunden. Von Zeit zu Zeit implementierten AMD oder Nvidia möglicherweise eine bestimmte Funktion in der Hardware, bevor sie Teil eines zukünftigen DirectX-Standards wurde, aber Grafikkarten waren auf die DirectX-APIs festgelegt, die sie beim Start unterstützten.

Quelle

verwandte Informationen