Multi-GPU: Weniger Mikroruckler dank Frame Pacing unter Direct3D 12
Rechnen mehrere GPUs oder Grafikkarten an einem Spiel, stottert es häufig, da Mikroruckler auftreten. AMDs neue Radeon Software unterstützt nun Frame Pacing auch unter Direct3D 12, denn bisher war die Technik nur für ältere Grafikschnittstellen verfügbar.
AMD hat vor einigen Tagen bekanntgegeben, dass Frame Pacing unter Direct3D 12 seit der Radeon Software 16.9.1 unterstützt wird. Mittlerweile ist die Version 16.10.1 aktuell, ein weiteres D3D12-Spiel profitiert von der Technik und wir konnten von AMDs Scott Wasson, Senior Manager bei der Radeon Technologies Group, ein paar weitere Details erfahren.
Frame Pacing ist ein Algorithmus, der die Bildausgabe in Spielen optimiert, wenn mehr als eine GPU oder Grafikkarte zur Berechnung herangezogen werden. Üblicherweise wechseln sich die Chips ab, diese einfache Implementierung von Multi-GPU wird daher als Alternate Frame Rendering bezeichnet. Da die Last pro Bild unterschiedlich ausfällt und die Frames direkt nach ihrer Berechnung ausgegeben und somit unregelmäßig werden, stottert die Darstellung - in der Branche wird das als Mikroruckler bezeichnet.
Wie es die Bezeichnung Frame Pacing bereits impliziert, passt der Treiber die Geschwindigkeit an, in der die Grafikkarte ihre Bilder ans Display liefert. Bei 45 fps etwa muss im Idealfall alle 22,2 ms ein Frame dargestellt werden. Bisher hatte AMD den Algorithmus bis maximal Direct3D 11 implementiert, da unter Direct3D 12 andere Regeln für Multi-GPU gelten. Die Entwicklerstudios haben, sofern sie das möchten, sehr viel mehr Kontrolle darüber, wann welche GPUs was berechnen. Dieser sogenannte Explicit Multi Adapter muss dediziert programmiert werden, selbst eine Unlinked-Variante, um AMD- und Nvidia-Karten zu koppeln, ist möglich; etwa in Ashes of the Singularity.
Frame Pacing klappt bisher nur mit wenigen Spielen
Die Lösung von AMD allerdings ist für Implict Multi Adapter gedacht, was nichts anderes bedeutet als zwei Radeons, die per AFR das Spiel berechnen. Spezielle Speicherzugriffe oder dergleichen gibt es anders als bei Explicit Multi Adapter nicht. Dafür funktioniert Multi-GPU via Implict Multi Adapter in deutlich mehr Anwendungen und Spielen: Neben dem 3DMark Time Spy unterstützen Deus Ex Mankind Divided (per 'dx12_mgpu_preview'), Rise of the Tomb Raider und Total War Warhammer die Technik und damit Frame Pacing.
Messwerte seitens AMD zeigen, dass die Frametimes - also die zeitlichen Abstände, in denen Bilder ausgegeben werden - mit Frame Pacing deutlich regelmäßiger ausfallen als ohne. Die Technik funktioniert laut Hersteller auf allen GCN-basierten (Graphics Core Next) Grafikkarten ab den Radeon HD 7000 und allen Kombiprozessoren ab Kaveri, wenn bei diesen Dual-Graphics (integrierte und dedizierte GPU) verwendet wird.
AMDs Scott Wasson sagte uns, ein paar weitere Spiele mit Direct3D 12 und Multi-GPU-Unterstützung seien in Entwicklung und er erwarte, dass die meisten davon AFR per Implict Multi Adapter integriert haben würden.
Das finde ich in der Tat auch sehr seltsam. Ich habe den Eindruck, dass der Artikel ein...
Da Dual Graphics unterstützt wird, tut's auch mit dGPU plus iGPU. Allerdings war das...