Nvidias Geforce GTX 970, nicht nur von uns als empfehlenswerte High-End-Karte eingestuft, weist aufgrund einer nicht kommunizierten Hardware-Neuerung ein unerwartetes Verhalten im Bereich von 3,5 bis 4,0 GiByte Grafikspeichernutzung auf. Dieses Verhalten, welches nur die GTX 970, von der jedoch alle Modelle, betrifft, ist gewollt und stellt keinen Bug dar, so Nvidia. Ein Treiber- oder BIOS-Fix ist nicht zu erwarten (auch das MSI-BIOS-Update bringt "nur" eine verbesserte Kompatibilität mit Auslese-Tools). Nichtsdestotrotz stellt sich die Frage, warum diese Eigenheit beim Launch im September 2014 nicht mit dargestellt wurde.

Wissenswert: Die wichtigsten Tests zur aktuellen Grafikkartengeneration von Nvidia und AMD

Während unseres Gespräches, welches wir am späten Nachmittag mit Nvidias Chef-Architekten für Maxwell, Jonah M. Alben, führen konnten, stellte sich heraus, dass Nvidia beim Launch der Geforce GTX 980/970 nach eigenen Angaben wohl ein Kommunikationsfehler unterlaufen ist, der zur aktuell vorherrschenden Gemengelage um eine vorgebliche 3,5-GiByte-GTX-970 führte. Die unten erläuterte "Spezialität" der Geforce GTX 970 habe man versäumt dem Team, welches die Launch-Unterlagen erstellte, mitzuteilen. Für eine Firma wie Nvidia eine ungewöhnliche Panne - manche Kommentatoren unterstellten Nvidia vor der Aufklärung gar ein absichtliches Verschweigen oder kaputte Speicherchips.

Geforce GTX 970 und der 224-Bit-/3,5-GiByte-Modus

Hatte man früher einen kompletten Speichercontroller abgeschaltet, um Chips mit kleineren Herstellungsfehlern, die in diesem Bereich lagen, noch verkaufen zu können, ist man bei Maxwell feinkörniger geworden. Anstelle eines kompletten Blockes aus L2-Cache, Rasterendstufen (ROPs) und Speichercontroller kann Nvidia bei Maxwell innerhalb dieses Schaltungsblocks auch einzelne Hälften der Level-2-Cache-Partitionen mit angehängter Achtfach-ROP abschalten - so geschehen bei der Desktop-970. Ist auch (oder nur) der Speichercontroller defekt, wird der komplette Block abgeschaltet und kommt zum Beispiel als GTX 970M zum Einsatz.

Das folgende, von Nvidia zur Verfügung gestellte Diagramm verdeutlich die Problematik. Dass im selben Atemzuge wie die bekanntermaßen deaktivierten 3 von 16 Shaderclustern (SMMs) bei der GTX 970 die Pixel-Füllrate sinkt, wissen PCGH-Leser natürlich längst - das war auch schon bei Kepler und Fermi der Fall, wobei es dort noch andere Beschränkungen, etwa auf GPC-Ebene, gab.

SMM Diagramm Quelle: Nvidia Um jedoch die bestmögliche Performance zu erreichen, hat Nvidia im Treiber einen Modus festgelegt, der standardmäßig lediglich 3,5 GiByte des Grafikspeichers nutzt und nur, wenn die Anwendung wirklich die 3,5-GiByte Marke überschreitet, das bis dahin ausgelassene, fehlende halbe Gibyte hinzuzieht. Dies geschieht, indem ein spezieller Modus in der L2-Partition aktiviert wird und diese dann den zweiten Speichercontroller mitversorgt - das geht aber nicht ohne Performance-Einbußen vonstatten.

Unsere Vermutung, dass sich die komplette Geforce GTX 970 im standardmäßigen 3,5-GiByte-Modus nicht schon wie eine Karte mit 224 anstelle von 256 Bit verhalte, hat Nvidia nach nochmaliger Prüfung eingeräumt. Die Speichercontroller arbeiten wie im obigen Schaltbild im standardmäßigen 3,5-GiByte-Modus nur sieben- und nicht achtfach parallel, sodass die Performance für Zugriffsblöcke, die größer als 7× der Stride-Size sind, entsprechend sinkt. Natürlich braucht die GTX 970 auch nicht soviel Transferrate wie die rechen-, textur- und pixelmächtigere 980, nichtsdestotrotz wird hier die kommunizierte Übertragungsrate von 224 GB/s im Normalbetrieb nicht erreicht. Nvidia spricht auf seiner Produktseite wohlweislich von "maximaler Bandbreite".

Nvidia bestätigte darüber hinaus klipp und klar, dass die Geforce GTX 970 derzeit so arbeitet wie vorgesehen, es ist also kein "Bug-fix" über Treiber oder Firmware zu erwarten. Ferner ist die Geforce GTX 970 die derzeit einzige Karte, die dieses Verhalten aufweist. Die Geforce GTX 980 ist, entgegen Vermutungen die aufgrund von synthetischen Testprogrammen (rec.exe) aufgestellt wurden, nicht betroffen. Der Autor dieses Programms im Computerbase-Forum hat zwischenzeitlich selbst eingeräumt, dass es nicht zur Feststellung des 3,5-GiByte-"Bugs" geeignet wäre.

De facto hätte das Blockschaltbild der Geforce GTX 970 zum Launch also in etwa so aussehen müssen: Neben den 3 deaktivierten SMMs, die zu 1.644 anstelle von 2.048 Shader-ALUs sowie 104 statt 128 TMUs und einer Pixelfüllrate von 54,6 statt 72,1 GPixel/s bei Basistakt führen, hätte man darauf hinweisen müssen, das ein Achtel des L2-Caches sowie acht der 64 ROPs deaktiviert sind. An der verfügbaren Pixel-Füllrate, die PCGH seinen Lesern bereits zum Launch mitgeteilt hat, ändert das nichts, da hier die Export-Rate aus den Shader bereits ein (entsprechend niedriges) Limit darstellt.

Blockdiagramme

Geforce GTX 970 und der 224-Bit-/3,5-GiByte-Modus: Auswirkungen

Doch was bedeutet das oben gesagte nun in der Praxis? Wir haben uns zu diesem Zwecke Watch Dogs mithilfe eines Fps-Verlaufe genauer angesehen, zu deutlicheren Illustration des 3,5-GiByte-Modus aber die zum Vergleich herangezogene Geforce GTX 980 auf eine Taktrate gebremst, mit der sie von ihrer Rechen-, Textur- und Pixelleistung unserer Geforce GTX 970 bei 1.178 MHz, dem von Nvidia garantierten Boost entspricht. Durch ihren geringeren Takt hätte die GTX 980 also wenn überhaupt kleine Nachteile durch die niedrigere Geometrie-Performance und durch eine möglicherweise nicht optimale Verteilung der Arbeit auf 16 statt 13 SMMs, da sich bestimmte Caches pro GPC nun auf mehr SMMs verteilen.

Das Spiel braucht in Full-HD mit Texturdetails auf "Ultra" und auch sonst maximalen Details bereits ohne Kantenglättung über 3 GiByte Grafikspeicher. Wir haben sukzessive das speicherfressende Multi-Sample-Antialiasing hinzugeschaltet, was die GTX 980 mit einer maximalen Speichergelegung von 3.929 Megabyte bei 8× MSAA quittiert - ausgelesen mit GPU-z. Der 3,5-GiByte-Modus hält die GTX 970 in unserem Testfall bis auf minimale Ausreißer - wie sein Name andeutet - unterhalb der 3,5-GByte-Marke. Die im Verlauf dargestellten Auswirkungen sollten also das Resultat der knapperen Speicherallokation sowie der niedrigeren ROP-Leistung sein - wie gesagt hätte die GTX 980 eigentlich im Nachteil sein und wenn, dann niedrigere Werte liefern müssen.

Wir bereiten derzeit noch weitere Benchmarks in Ultra-HD vor, die dann den 3,5-GByte-Modus endültig zum Überlaufen bringen sollten - schauen Sie gern morgen noch einmal herein!

Geforce GTX 970 und der 224-Bit-/3,5-GiByte-Modus: Fazit

Die GTX 970 wird durch das Bekanntwerden dieses "Features" also keine schlechtere Grafikkarten, wenn auch für manche vielleicht eine weniger begehrenswerte. Auf alle Fälle dürfte es Nvidias zuletzt im Aufwind befindlichen Ruf nicht zuträglich sein, dass die zusätzliche Beschneidung der GTX 970 nicht nur wie kommuniziert bei den Shadern, sondern auch beim L2-Cache, den ROPs und in der Folge auch bei der vom Treiber verantworteten Speicherzuteilung verschwiegen worden ist. Im Zweifel für den Angeklagten wollen wir Nvidia einstweilen Glauben schenken, dass es sich hierbei um ein Versehen handelt - denn das Gegenteil lässt sich schwer beweisen.

Was die zwischenzeitlich heiß diskutierten, vermeintlichen Sachmängel angeht, dürfte die Lage kompliziert werden. De facto sind sowohl 4 GiByte Grafikspeicher als auch ein 256-Bit-Speicherinterface vorhanden und können auch genutzt werden. Natürlich würde ein Käufer normalerweise erwarten, dass die vier GiByte (und vor allem die acht Speichercontroller) wie üblich voll parallel arbeiten. Auch die Angabe von 2 MiB L2-Cache und die Anzahl von 64 ROPs ist falsch.

Auf unsere (zugegeben recht kurzfristige Anfrage), ob man darüber nachdenkt, bestehenden Kunden der GTX 970 einen wie auch immer gearteten Ausgleich zukommen zu lassen (In-Game-Werte für Online-Spiele, Spiele-Codes, Rabatte etc.), schwieg man sich bislang noch aus.

04:31

7x GTX 970 und 4x GTX 980: Erste Video-Eindrücke von 11 Maxwell-Partnerdesigns

Update 27.01.2015: Weitere Erläuterungen

Wie angekündigt, haben wir die Zeit seit gestern Abend genutzt und weitere Benchmarks angefertigt, die das Problem besser herausstellen können. Allein die Tatsache, dass die nicht kommunizierte, spezielle Speicherverwaltung in Kombination mit dem in der Regel aktiven 224-Bit-Modus der GTX 970 spezielle Benchmarks erfordert, zeigt, dass das Problem nur schwer in harte Zahlen zu fassen ist.

Wie bereits beschrieben, arbeitet die Geforce GTX 970 standardmäßig mit einem zweigeteilten Speicherpool - der präferierte, 3,5 GiByte große und der ungeliebte kleine Bruder mit 0,5 GiByte. Doch worin unterscheiden sich die Zugriffsmuster und warum wird der kleinere Pool nach Möglichkeit ungenutzt gelassen? Um das zu verstehen, ein kurzer Ausflug in den Speicher-Workflow.

Daten kommen von "der Shader-Engine", also allen verfügbaren SMMs und werden über eine volle Crossbar über die einzeln angebundenen Partitionen des L2-Cache mit den angeschlossenen ROPs an die wiederum angeschlossenen Speichercontroller weitergeben.

Bei der Geforce GTX 980 ist jedem der acht L2-Abschnitte ein 32-Bit-Speichercontroller mit je 512 MiB (4 GBit) GDDR5-RAM zugeordnet. Um die Zugriffe möglichst effizient und schnell abzuarbeiten, werden die Daten in kleine Häppchen zerlegt und reihum ("round robin") an die L2s mit ihren Controllern verteilt. So wird aus acht 32-Bit-Controllern das parallel arbeitende 256-Bit-Interface.

Bei der Geforce GTX 970 ist das im Prinzip ebenfalls möglich, jedoch gibt es einen Bereich, in dem der L2-Block abgeschaltet ist. Während in früheren Geforce-Generationen gleich auch der zugehörige Speichercontroller deaktiviert werden musste, ist es bei Maxwell möglich, dass ein L2-Block zwei Speichercontroller versorgt. Solange eine niedrige Last auf dem Speichersystem anliegt, funktioniert das auch problemlos. Wenn jedoch viele Zugriffe anstehen und die Controller überbeschäftigt sind, stauen sich die Anfragen ("Requests") in den Warteschlangen ("Queues") der L2-Blöcke.

Dieser Datenstau würde sich bei der L2-Partition, die zwei Speichercontroller bedienen muss, natürlich doppelt so schnell einstellen. Da die Daten jedoch zugunsten der Parallelität aufgesplittet werden, würde durch diesen lokalen Rückstau die Datenversorgung der Shader-Engine deutlich gebremst.

Nvidia hat sich daher naheliegender- und sinnvollerweise entschieden, im Regelbetrieb nur sieben der acht Speichercontroller anzusteuern, um einen solchen Rückstau zu vermeiden. Effektiv entsteht daraus im Normalfall ein 224-Bit-Speicherinterface mit ergo 196 GB/s anstelle des beworbenen 256-Bit-Interfaces mit 224 GB/s. Nicht sinnvoll, naheliegend oder akzeptabel finden wir dagegen, dass dieses "Maxwell-Feature" nicht zum Launch und auch im Nachgang nur häppchenweise erklärt wurde.

Kurzer Exkurs in die Speicherverwaltung: Nicht jede ausgelesene Speicherbelegung entspricht auch der tatsächlich zu diesem Zeitpunkt benötigten Datenmenge. Tatsächlich entscheidet der Treiber je nach verfügbarem Speicher darüber, wie lange er nicht mehr genutzte Daten, etwa die Textur einer Häuserfassade, die nicht mehr im Sichtbereich ist, noch im Speicher hält. Werden die Daten wieder benötigt, muss ein großzügiger verwalteter Speicher diese nicht erneut aus dem Hauptspeicher über den PCI-Express-Anschluss mit max. 16 GB/s nachladen. Wird der Speicher dagegen hart am Limit gefahren, sprich werden Daten früh wieder hinausgeworfen, müssen Daten häufiger aus dem Hauptspeicher nachgeladen werden. Es ist leicht ersichtlich, dass die straffere Eviction Policy, wie dieses Verhalten in der Fachsprache heißt, Nachteile hat, die sich in kurzen Benchmarks möglicherweise nicht so direkt abbilden wie in ausgiebigen Spielesitzungen.

Zurück zur GTX 970: Benötigt nun eine Anwendung wirklich mehr als 3,5 GiByte Grafikspeicher, steht Nvidia vor der Wahl, den Bereich zwischen 3,5 und 4 GiByte - ab wo dann auch eine GTX 980 über den PCIe nachladen müsste - komplett über den PCI-Express-Anschluss ranzuholen oder aber den zusätzlichen Speichercontroller mit einzubinden. Fakt ist, dass auch bei der Geforce GTX 970 eine Speicherbelegung von mehr als 3,5 GiByte möglich ist. Fakt ist aber auch, dass hierbei die Performance stärker leidet als es bei einer GTX 980 mit vollem Speichersubsystem der Fall wäre.

Hier ist die genaue Funktionsweise aber noch unklar. Ob Nvidia den Bereich mit 1×L2/2×MC vom Dateninhalt her komplett abkoppelt und im 4-GB-Modus quasi eine 3+1-GiByte Version anbietet oder ob die Request-Queues der Speichercontroller tatsächlich entkoppelt werden können, konnten wir noch nicht herausfinden. Möglich wäre ein 3+1-Modus mit 168 GB/s für den schnellen 3-GiB-Anteil und gleichmäßigen 56 GB/s für den langsameren Teil oder ein 3,5+0,5-Modus mit 196+28 GB/s, wobei die 0,5 GiB mit den 28 GB/s nur mit sehr geringer Priorität vom L2 bedient werden, damit für die restlichen 3,5 GiByte die maximale Transferrate gehalten werden kann. Weiterhin denkbar ist auch, dass die fragliche Partition für das Schreiben in den Grafikspeicher reserviert wird, welches zumindest in Spielen seltener und weniger zerstückelt passiert als das Lesen. Letztlich entscheidet die Heuristik im Treiber wohl je nach Anwendung darüber, in welchem der möglichen Modi die GTX 970 betrieben wird.

Update 27.01.2015: Neue Benchmarks und Frametime-Verläufe in Full- und Ultra-HD

Geforce GTX 970 Memory Subsystem Benchmark Watch Dogs 4x MSAA UHD (1) Quelle: PC Games Hardware Unsere angekündigten, in nun in Ultra-HD mit verschiedenen Einstellungen durchgeführten Benchmarks bei Watch Dogs zeigen, dass die Bildrate bei der GTX 970 im Vergleich zur 980 deutlich absinkt, sobald der Treiber die 3,5-GiByte-Marke nicht mehr durch straffere Speicherverwaltung halten kann. Deutlicher jedenfalls, als man aufgrund der beworbenen, gleichen Speicheranbindung und der nur bei Kantenglättung mit Multisample-AA zum Tragen kommenden ROP-Ausstattung erwarten dürfte.

Zunächst haben wir den Test von gestern mit einem normalen Fps-Verlauf in Ultra-HD wiederholt. Bereits hier ist deutlich zu sehen, dass die in ihrer Rechenleistung an die GTX 970 angeglichene GTX 980 (mit 957 MHz) deutlich flotter arbeitet - das lässt sich auch aus den Durchschnitts-Fps-Werten ablesen. Wir haben uns für die Ultra-HD-Runde in diesem Benchmark auf 4× MSAA beschränkt und die Textureinstellung nur auf "high" gesetzt, da ansonsten auch 4 Gigabyte Grafikspeicher nicht ausgereicht hätten und alle Karten im einstelligen Bereich gelandet wären. Selbst mit den "reduzierten" Einstellungen liegen die Fps nur zwischen 8 und 18 Bildern pro Sekunde, bei dem man normalerweise die Details reduzieren würde, um flüssig spielen zu können.

Bitte beachten: Um den Auswirkungen näher auf den Grund zu gehen, haben wir uns auch die Frametimes angesehen, die Zeiten also, welche die Grafikkarte für die Berechnung jedes einzelnen Bildes benötigt. Hier gilt: weniger ist besser. In den Titeln der Verläufe unten finden Sie sowohl die jeweils erreichten Durchschnitts-Fps als auch die jeweils nach der ersten Stadion-Runde ausgelesen Speicherbelegung. Zum Vergleich haben wir sowohl eine entsprechend in ihrer Rechenleistung reduzierte GTX 980 vermessen als auch das direkte Konkurrenz-Modelle von AMD, die ebenfalls mit 4 GiByte, aber an einem mit 512 Bit doppelt so breite Interface ausgestattete Radeon R9 290X.

Solange der Speicher ausreicht, der Treiber also wie in diesem Falle (Full-HD, 8× MSAA und Ultra-Details sowie -Texturen) die Speicherbelegung unterhalb von 3,5 GiB halten kann, sind die Frametimes und somit die gleichmäßige Bildausgabe vollkommen akzeptabel - wir reden hier von den Auswirkungen, nicht von den Ursachen dieser besonderen Speicherverwaltung. Während die GTX 970 hier auf rund 3.470 MiB gehalten wird, darf sich die GTX 980 knapp 450 MiByte mehr genehmigen. Auch die Radeon liegt mit circa 3.850 MiB deutlich oberhalb der 970er-Komfortzone Was deren zackigen Frametime-Verlauf angeht: Wir haben mehrere Durchläufe gemacht und diese Werte sind für die zweite Runde ums Stadion reproduzierbar - im ersten Umlauf sind anfangs heftigere Nachladeverzögerungen zu sehen. Vielleicht versucht die Radeon beim FHD-Setting durch etwas mehr "Wiggle"-Raum im Speicher zu optimieren um (angezeigte) Fps zu gewinnen, was kontraproduktiv für die Frametimes ist, während der im UHD-Setting nicht mehr drin ist, weil der Speicher "wirklich" benötigt wird - das ist aber eine reine Vermutung und hier nur das absolute Nebenthema.

Sobald jedoch der Speicher oberhalb von 3,5 Gigabyte wirklich benötigt wird und der Treiber sich nicht mehr darum herumdrücken kann, diesen in Ultra-HD mit 4× MSAA und "High"-Texturen auch mit bis zu 3.980 MiB zu belegen, zeigt sich, dass hier getrickst werden muss, um die vollen vier Gigabyte nutzen zu können. Die Frametimes werden deutlich ungleichmäßiger im Vergleich zur GTX 980 (die sich übrigens immer noch rund 70 MiB mehr genehmigen darf) und das sieht man nicht nur im Diagramm, sondern empfindliche Naturen können dies im direkten Vergleich im Spiel bemerken. Die Radeon, nach ihrer eher unruhigen Vorstellung in Full-HD, agiert hier über weite Strecken auf dem Niveau der (heruntergetakteten) GTX 980, bekommt aber zum Ende unseres Benchmarks hin Probleme mit der Speicherverwaltung.

Update 27.01.2015: Fazit nach Auswertung der neuen Benchmarks

Abseits "normaler" Benchmarks sind die Unterschiede zwischen GTX 970 und 980 deutlicher als es die zuvor bekannten Spezifikationen vermuten ließen - zumindest in den von uns durchgeführten Benchmarks. Während das Verhalten und die Heuristik des Treibers möglicherweise applikationsspezifisch unterschiedlich gute Resultate erzielen können, bleibt ein fader Beigeschmack, ob sich der eine oder andere Ruckler oder Stotterer im Grenzbereich mit der ursprünglich von Nvidia kommunizierten Konfiguration nicht würde vermeiden lassen.

Unterstützt PCGH – es dauert nur eine Minute. Danke! Alle Leser bekommen bei uns täglich kostenlos News, Artikel, Guides, Videos und Podcasts über aktuelle Spiele-Hardware und ihre Lieblingsspiele. Bislang haben wir diese Seite vorwiegend über Werbung finanziert, doch seit COVID-19 wird das zunehmend schwieriger. Viele Unternehmen kürzen oder streichen für 2020 ihre Werbebudgets. Budgets, auf die wir leider angewiesen sind, wenn wir PC Games Hardware auch in Zukunft in gewohnter Form kostenlos anbieten wollen. Aus diesem Grund wenden wir uns jetzt an euch. Ihr könnt uns als PCGH-Supporter dabei unterstützen, dass wir unsere bekannten Inhalte auch weiterhin in gewohnter Form kostenlos anbieten können. Jeder Beitrag, ob groß oder klein, ist wertvoll. Unterstützt PC Games Hardware - es dauert nur eine Minute. Jetzt unterstützen Wir danken euch jetzt schon im Voraus.

Außerdem beliebt bei PCGH-Lesern: [PLUS] Lohnt sich Aufrüsten? Alte GPUs mit maximaler Übertaktung gegen aktuelle Grafikkarten PCGH Plus: Was lässt sich mittels Übertaktung aus einer alten Grafikkarte herausholen? Die beste Grafikkarte bis 100 Euro? Gaming auf 5 Jahre alter Geforce GTX 970 Die GTX 970 ist mittlerweile knapp 5 Jahre alt. Bei Gaming-Hardware ist das eine halbe Ewigkeit. Trotzdem haben wir uns gefragt, wie gut man mit so einer Grafikkarte noch aktuelle Titel spielen kann und ob die vier Gigabyte Grafikspeicher überhaupt ausreichen. PCPS4XBO Sekiro Shadows Die Twice: Technik im Detail, Performance auf 2080 Ti, RX 570 und GTX 970 Zum Release von Sekiro sehen wir uns die Technik des Souls-Ablegers genauer an. Neben der Performance auf einer RTX 2080 Ti und einem i7-8700k testen wir noch eine RX 570 sowie eine bereits in die Jahre gekommene GTX 970. Ob das Spiel auch noch mit älterer Hardware gut zurecht kommt, zeigen wir im Video. [PLUS] Spielbarkeit von 15 Grafikkarten analysiert - der Smoothness-Index PCGH Plus: Immer mehr Grafikkarten durchlaufen den neuen GPU-Parcours. Nach mittlerweile 15 Modellen und mehr als 3.600 Messungen wird es Zeit für einen genaueren Blick auf Fps und Frametimes. Der Artikel stammt aus PC Games Hardware 10/2020.

mehr ... zum Artikel

(*) Affiliate-Links haben wir mit einem Sternchen gekennzeichnet. Wir erhalten für einen Kauf über unseren Link eine kleine Provision und können so die kostenlos nutzbare Webseite teilweise mit diesen Einnahmen finanzieren. Für den User entstehen hierbei keine Kosten.