28

DirectX 12 erlaubt das Addieren des Grafikkarten-Speichers von mehreren Grafikchips

Das DirectX-12-Feature "Explicit Multiadapter Rendering", welches bisher für die gemeinsame Arbeit völlig unterschiedlicher Grafikkarten (beispielsweise einer extra Grafikkarte samt der integrierten Grafiklösung einer APU) an einer Rendering-Aufgabe bekannt war, läßt sich natürlich auch zur Koppelung gleich starker Grafikkarten verwenden und hat dort laut einer AMD-Präsentation zu den Vorzügen von DirectX 12 die interessante Eigenschaft, nicht nur Aufgaben zwischen den einzelnen Grafikchips verteilen zu können, sondern auch den Grafikkartenspeicher nur gemessen an der Aufgabe für den jeweiligen Grafikchip zu belegen. Damit muß nicht wie ansonsten unter CrossFire und SLI in den Grafikkartenspeichern beider (oder mehrerer) Grafikchips immer der gleiche Inhalt liegen, sondern kann im (absoluten) Idealfall der Speicher für MultiChip-Konstruktionen pro Grafikchip addiert werden.

Hierbei wird ein bekanntes Problem von MultiChip-Konstruktionen angegangen: In den bisher hierfür verwendeten Rendering-Modi (zumeist AFR) liegen generell die Daten für den Rendering-Vorgang im Speicher aller Grafikchips jeweils komplett vor. Damit agiert ein Verbund aus zwei Radeon R9 290X Grafikkarten unter CrossFire vom Speicher her gesehen wie ein einzelne 4-GB-Grafikkarte, auch die Hinzunahme weiterer Grafikkarten steigert die real nutzbare Speichermenge nicht. Dies ist insbesondere deswegen ärgerlich, weil unter CrossFire und SLI logischerweise sehr viel mehr Rohleistung zur Verfügung steht, daher oftmals höhere Auflösungen und Bildqualitäts-Modi gefahren werden, welche dann meistens auch mehr Grafikkartenspeicher benötigen würden, als Standard-Grafikkarten eben anbieten. Im Fall einer idealen Ausnutzung von "Explicit Multiadapter Rendering" könnten zwei Radeon R9 290X Grafikkarten vom Speicher her gesehen dann aber nicht wie eine einzelne 4-GB-Grafikkarte, sondern eben wie eine einzelne 8-GB-Grafikkarte agieren.

Vor dem Preis kommt allerdings der Fleiß – und jenen müssen insbesondere die Engine-Programmierer abliefern, welche ein performantes "Explicit Multiadapter Rendering" auch bezogen auf zwei gleich starke Grafikkarten (und nicht nur bezogen auf die Mitbenutzung einer APU) in ihre Spiele-Engines integrieren müssen. Als Nebenfeature von DirectX 12 dürfte es "Explicit Multiadapter Rendering" dabei schon schwierig haben, überhaupt in Spiele-Engines integriert zu werden – ob sich dann jemand noch die Arbeit macht, speziell den Punkt einer idealen Lastverteilung von zwei Grafikkarten anzugehen, darf doch bezweifelt werden. Für einzelne Spieleprojekte ist dies eine Illusion, da die Zielgruppe von MultiChip-Konstruktionen einfach viel zu klein ist – wenn, dann besteht allerhöchstens eine gewisse Chance bei den Entwicklern von großen Lizenz-Engines wie der Unreal Engine, der CryEngine oder der Frostbite-Engine. Rein technisch wird es mit DirectX 12 also durchaus möglich, unter MultiGPU die Grafikkartenspeicher zu addieren – aber rein praktisch passiert diesbezüglich gar nichts vor der (performanten) Integration dieses Features in eine Spiel-Engine.