Gaming Grafikkarten Grundlagenartikel Praxis Testberichte VGA

Flaschenhals bei NVIDIA und DirectX 12? MSI GeForce RTX 3090 SUPRIM gegen MSI Radeon RX 6900XT Gaming X und die eigenen Treiber

Was steckt hinter Asynchronous Compute?

Ich habe ja bereits vor über 5 Jahren dazu eine längere Ausführung geschrieben, möchte das Ganze aber trotzdem noch einmal ein wenig auffrischen, weil es wichtig ist. Worum geht es hier genau? Viele der In-Game-Effekte wie Schattenwurf, Beleuchtung, künstliche Intelligenz, Physik und Linseneffekte erfordern oft mehrere Berechnungsschritte, bevor überhaupt erst einmal feststeht, was von der Grafikhardware einer GPU auf den Bildschirm gerendert wird. Noch in DirectX 11 mussten diese Schritte sequentiell, also hintereinander  ablaufen.

Schritt für Schritt folgte die Grafikkarte nun dem Prozess der API, um etwas von Anfang bis Ende zu rendern. Und man kennt es ja auch von einem Stau auf einer Autobahn: jede Verzögerung in einem frühen Stadium der Staubildung würde dann als Folge eine immer größer werdende Welle von Verzögerungen in der Zukunft bedeuten. Diese Verzögerungen in der Pipeline werden auch etwas flapsig als „Bubbles“ bezeichnet und repräsentieren dann einen gewissen Moment, in dem ein Teil der GPU-Hardware pausieren muss, um auf neue Anweisungen zu warten.

Die nachfolgende Grafik zeigt die visuelle Darstellung des DirectX-11-Threading. Alle Grafik-, Speicher- und Rechenoperationen werden in einer langen Abfolge der Abarbeitung („Pipeline“) zusammengefasst, die extrem anfällig für Verzögerungen ist:

Diese sogenannten „Pipeline-Bubbles“ passieren natürlich ständig und auch auf jeder Grafikkarte, denn kein Spiel der Welt kann wirklich die gesamte Leistung oder Hardware, die eine GPU zu bieten hat, perfekt ausnutzen. Und kein Spiel kann zudem konsequent vermeiden, dass solche Blasen entstehen, wenn der Benutzer sich frei in der Spielewelt bewegt und agiert. Und jetzt kommt der Kniff mit dem „Asynchronous Compte“. Was wäre, wenn man diese Blasen anstelle zu warten mit anderen Aufgaben füllen könnte, um die Hardware besser auszunutzen, damit weniger Rechenleistung brach liegt?

Wenn zum Beispiel beim Rendern komplexer Beleuchtungen eine Rendering-Blase entsteht, könnte man in der Zwischenzeit ja zum Beispiel die KI berechnen lassen. Man kann also mehrere Dinge parallel erledigen oder noch anstehende, passende Aufgaben einfach vorziehen. Die nächste Grafik ist die visuelle Darstellung des Ablaufs der asynchronen Berechnungen unter DirectX 12. Die Grafik-, Speicher- und Rechenoperationen werden in unabhängige Aufgabenpakete entkoppelt, die dann sogar parallel ausgeführt werden können:

Zusammenfassung und Fazit

Als Folge der sinkenden Auflösung steigt natürlich die Anzahl der gerenderten Einzelbilder („Frames“) und die Latenz sinkt im Gegenzug. Was aber hat das nun mit der CPU und dem Limit durch diese zu tun? Viele Dinge laufen ja auch über CPU und allein die Anzahl der Drawcalls steigt mit sinkender Auflösung dramatisch. Die CPU muss stets liefern, damit die Grafikhardware auch immer optimal ausgelastet ist. Hier aber scheint die Säge bei NVIDIAs Treibern ein wenig zu klemmen. Ich würde nicht so weit gehen und vermuten, dass NVIDIA immer noch Probleme mit dem asynchronen Abarbeiten der Pipelines hat, aber optimal ist das Ganze wohl immer noch nicht. Vor allem, wenn Engines auf AMDs Hardware hin optimiert wurden (z.B. das Single Pass Downsampling in HZD)

Die Abhängigkeit von Spiel und Engine fordert an dieser Stelle eigentlich eine genauere Untersuchung dieser Problematik geradezu heraus, allein mir fehlt als Einzelkämpfer mit derzeit sogar zwei noch anstehenden Launches ein wenig die Zeit dafür. Ich würde einen generelle Performance-Verlust der GeForce-Treiber bei niedrigeren Auflösungen durch einen pauschal deklarierten „Overhead“ eigentlich ausschließen wollen, denn auch wenn die Programmierer beider Teams auch gern einmal etwas schusselig sind, so brutal daneben liegt man bei NVIDIA mit Sicherheit nicht.

Egal, ob Horizon Zero Dawn oder Watch Dogs Legion, immer dann, wenn bei der GeForce die FPS einbrachen (vor allem bei den Messungen mit nur 2 Kernen), waren das langsamere Aufploppen von Inhalten, das verzögerte Laden der Texturen oder Fehler bei Beleuchtung und Schatten auf der Radeon weniger schlimm als bei der GeForce. Auch das werte ich als Indikator dafür, dass hier einfach die Pipeline dicht war (Bubbles) und das Multi-Threading auf der GPU nicht wirklich optimal ablief. Dafür sprechen ja auch die immer gleichen prozentualen Abstände zwischen beiden Karten bei der Erhöhung der Kernzahl und der Verringerung des CPU-Limits (siehe Seite Zwei). Denn ich sehe das Problem eher weniger bei der CPU, sondern der Abarbeitung der Pipelines auf der GPU. Eine limitierende CPU macht den Vorgang nur deutlicher, ist aber nicht der eigentliche Grund.

Es muss natürlich handfeste Gründe haben, warum dies alles so passiert, Software- oder vielleicht sogar Hardware-bedingt. Dann aber nicht irgendwie pauschal samt generell mieser Treiber, sondern sehr speziell und eingrenzbar, vielleicht sogar auch noch Plattform-bedingt bei älteren Systemen als Summe von negativen Faktoren. Denn wir haben ja auch gesehen, dass man bei Tests auf ein und derselben, aktuellen Plattform mit PCIe 4.0 nicht derart große Unterschiede finden kann, wie es bei den Kollegen der Fall war.

Aktuell kann man als Fazit immerhin mitnehmen, dass die Grafikhardware zum Rest des Systems und natürlich auch der genutzten Bildschirmauflösung passen sollte und man mit solch potenten Karten wie der GeForce RTX 3080 oder RTX 3090 auf (älteren) Systemen mit eher schwachen CPUs in niedrigen Auflösungen sowieso keinen Blumentopf dazugewinnt. Egal on nun mit oder ohne Limits. Es sei denn, man will nebenher noch kryptisches Schwarzgeld schürfen. Aber das ist dann schon nicht mehr mein Problem.

143 Antworten

Kommentar

Lade neue Kommentare

Case39

Urgestein

2,498 Kommentare 928 Likes

Guten Morgen und Danke für den aufklärenden Artikel. Ich behaupte mal, dieser wird mit sehr viel Aufmerksamkeit durch das Netz gehen!
Der fulminante Wochenstart ist schon mal gesichert👍

Antwort 3 Likes

Igor Wallossek

1

10,178 Kommentare 18,761 Likes

Kannst ihn ja mal teilen ;)

Antwort 1 Like

Case39

Urgestein

2,498 Kommentare 928 Likes

Erledigt....3DC, PCGH, CB.

Antwort 5 Likes

Igor Wallossek

1

10,178 Kommentare 18,761 Likes

PCGH und CB sehe ich nichts, haben die das schon wieder weggelöscht? Das 3DC besuche ich nicht mehr. Zu klein und unbedeutend, deren Reichweite ist komplett abgeschmiert. Was mich aber auch nicht wundert. Elitärer Sebstbeweihräucherungsverein. Die echten Urgesteine und interessanten User haben sie mittlerweile alle vergrault oder weggebissen. Es ist wirklich erschreckend, wie 4-5 Leute ein gesamtes Forum ruinieren können und die Mods noch seelenruhig dabei zuschauen. ;)

View image at the forums

Antwort 5 Likes

G
Guest

Vielen Dank für den überaus arbeitsintensiven und aufschlussreichen Artikel!

Im Prinzip bestätigt er, was eigentlich von Anfang in den Benchmarks zu RDNA2 und Ampere offensichtlich geworden ist: Ampere ist deutlich CPU abhängiger und kann seine theoretischen Vorteile an Rechenleistung erst ab 4k so richtig ausspielen.

Deine Theorie mit dem Async Computing ist interessant. Aber das würde ja bedeuten, dass entweder das Setup von diesem Feature bei Ampere mehr CPU Zeit braucht - oder dessen Ausführung. Bei letzterem kann ich mir das kaum vorstellen, denn die Ausführung muss ja die GPU erledigen. Also kann es doch nur das Setup sein. Eventuell muss da was umorganisiert oder sortiert werden, damit die GPU optimale Ergebnisse liefert?

Nicht desto trotz...

Häme incoming in 3... 2... 1...

Antwort 1 Like

konkretor

Veteran

296 Kommentare 300 Likes

War nicht mal das Spiel Ashes of Singularity der Test für async compute. Um alle Graks zu knechten? Mit dem Spiel hatte AMD damals gezeigt besser von DX12 zu profitieren zu können als Nvidida.

Sollte das Spiel nochmals durch den Benchmark gejagt werden?

Antwort Gefällt mir

Igor Wallossek

1

10,178 Kommentare 18,761 Likes

Da haben die Teams die Treiber mittlerweile sicher totoptimiert. :D
Horizon Zero Dawn ist da viel subtiler und hinterhältiger.

Antwort 1 Like

s
summit

Veteran

150 Kommentare 73 Likes

Du skalierst also wirklich nur die Kerne?
Bei HU sieht man ja ( ryzen 1600,2600,3600) dass es vorallem auch an der IPC liegt.

Antwort 1 Like

Case39

Urgestein

2,498 Kommentare 928 Likes
Case39

Urgestein

2,498 Kommentare 928 Likes

Ich hab es einfach in nen passenden Thread gepostet. Ja, 3DC ist richtig in die Bedeutungslosigkeit gerutscht....

Antwort Gefällt mir

Igor Wallossek

1

10,178 Kommentare 18,761 Likes

Hast Du bitte einen CB-/PCGH-Link? Oder ich bin zu blöd zum Suchen? :D

Antwort Gefällt mir

O
Oberst

Veteran

335 Kommentare 130 Likes

Sollte das in der Erkenntnis 1 auf Seite 1 nicht Radeon heißen? Denn die ist ja in WQHD und darunter überdurchschnittlich besser. Die Charts erinnern mich irgendwie immer an Vega, nur dieses mal mit umgedrehten Herstellern. NVidia kann die deutliche Mehrleistung von grob 36TFlop (gegenüber 23TFlop der 6900XT) erst ab 4k wirklich nutzen.

Antwort 1 Like

Case39

Urgestein

2,498 Kommentare 928 Likes

raff von PCGH scheint ebenfalls nen Artikel vorzubereiten....

Wie schon geschrieben. Hab es einfach nur in einem passenden Thread gepostet...

Antwort 2 Likes

Klicke zum Ausklappem
BlackFireHawk

Veteran

101 Kommentare 106 Likes

Also Sehr interessanter und guter Artikel. Daumen Hoch.

ich habe jedoch eine kleine anmerkung,
du gehst hier über die Kernskalierung des Spieles.. benutzt aber bei jeden Bench Run die gleiche CPU.. einen Zen3 Prozessor der eine Hohe IPC / Leistung pro Kern hat... ich glaub momentan sogar die höchste verfügbare IPC

was mich jetzt interressieren würde ist. wie Skaliert das ganze mit weniger leistung pro Kern.. eine RTX3090/3080 oder eine RX 6900xt/6800XT wird ja oft auch mit Älteren CPUs kombiniert die nicht soviel "Leistung pro Kern" haben..
Oft sieht man diese Karten zb mit nem Ryzen 3700x/3600x oder einem Intel 10600k/9700K/8700K kombiniert.. auch ohne entsprechendes K suffix

der allgemeine konsens ist ja "spare an der CPU und kaufe dafür eine stärkere GPU, denn ab 1440p bist du ja angeblich sowieso im GPU limit"

ein 5800x hat ja in etwa 20% mehr singlecore leistung als zb ein 9900k wenn ich mir die CB20 Singlecore ergebenisse ansehe
und knapp 30% mehr als ein 3700x..

Ich würde mir jetzt zumindestens einen zusätzlichen Bench wünschen mit weniger pro Kern leistung.
1440p/8kerne skalierung und das ganze dann mit 30% weniger takt/ sprich den 5800x einfach mal fix auf 3.6ghz festgetaktet

Antwort 3 Likes

Klicke zum Ausklappem
D
Denniss

Urgestein

1,514 Kommentare 547 Likes

Bitte gebt dem Igor mal ein wenig Zeit zum Durchschnaufen, er muß ja noch Rocket Lake und die kleinen Navis quälen.
Andere CPUs kann er ja irgendwann nachtesten z.B. den 3800x/xt

Antwort 7 Likes

BlackFireHawk

Veteran

101 Kommentare 106 Likes

keine frage das IST alles arbeit.
nur seh ich hier einen sehr wichtigen aspekt in der sache, denn hardware unboxed vergleicht unterschiedlich starke "pro kern leistung" und bekommt hier extreme unterschiede zwischen AMD und Nvidia

Antwort 1 Like

FritzHunter01

Moderator

1,150 Kommentare 1,567 Likes

Hallo,

alleine die Tatsache, dass es mit der aktuellen Ryzen Generation beim Abschalten von Kernen bereits zu einem solchen Phänomen kommt, zeigt, dass Nvidia hier ein Thema hat.
Der Steve von Hardware Unboxed ist zufällig beim CPU Vergleich darauf gestoßen und mit dem Test von Igor im Vergleich, wird deutlich, dass ältere CPUs das Thema noch deutlicher hervorheben. Es liegt also sehr wahrscheinlich nicht nur an der reinen IPC.

Meine Latenzmessungen haben ein extremes Verhalten offenbart... dazu kommen noch mindestens zwei Artikel von mir!

kleiner Spoiler:

3800X 4.45 GHz all core OC

3080 vs 5700 XT

CoD MW Multplayer 1080p Low Details

Beide GPUs in etwa gleich schnell mit 247 FPS im Durchschnitt

Antwort 2 Likes

Igor Wallossek

1

10,178 Kommentare 18,761 Likes

Schenke mir bitte die Zeit ;)

Am Ende wollen wir ja auch nicht alle Arikel durcheinander vermischen :D

Antwort 2 Likes

s
summit

Veteran

150 Kommentare 73 Likes

Ist mir auch schon auf Twitch aufgefallen, die spielen meist auf 1080p low details und haben mit ihrer 3080 probleme.
Kann man mal einen älteren Treiber nutzen? Imho war dies doch nicht schon "immer" so.

Antwort Gefällt mir

Danke für die Spende



Du fandest, der Beitrag war interessant und möchtest uns unterstützen? Klasse!

Hier erfährst Du, wie: Hier spenden.

Hier kannst Du per PayPal spenden.

About the author

Igor Wallossek

Chefredakteur und Namensgeber von igor'sLAB als inhaltlichem Nachfolger von Tom's Hardware Deutschland, deren Lizenz im Juni 2019 zurückgegeben wurde, um den qualitativen Ansprüchen der Webinhalte und Herausforderungen der neuen Medien wie z.B. YouTube mit einem eigenen Kanal besser gerecht werden zu können.

Computer-Nerd seit 1983, Audio-Freak seit 1979 und seit über 50 Jahren so ziemlich offen für alles, was einen Stecker oder einen Akku hat.

Folge Igor auf:
YouTube   Facebook    Instagram Twitter

Werbung

Werbung