Zum Hauptinhalt Zur Navigation

Richard Huddy im Interview: "AMD verliert einen Benchmark, den Nvidia geschrieben hat"

AMDs Spiele-Chef Richard Huddy greift im Gespräch mit Golem.de Nvidia an. Mit seinem Framework Gameworks könne der Konkurrent Spiele zum Nachteil von AMD erst schlechter und dann mit Treiber-Updates besser machen.
/ Nico Ernst
174 Kommentare News folgen (öffnet im neuen Fenster)
Richard Huddy kehrte Anfang Juni 2014 zu AMD zurück. (Bild: Intel)
Richard Huddy kehrte Anfang Juni 2014 zu AMD zurück. Bild: Intel

Seit Wochen schaukelt sich die Kontroverse um Nvidias Framework Gameworks immer weiter hoch, ein Beispiel dafür ist Watch Dogs . Während Nvidia zu den Vorwürfen von AMD, dass Gameworks den Konkurrenten behindere, bisher nur zögerlich Stellung nahm, haben die Radeon-Macher einen schon früher sehr lautstarken Sprecher zurückgewonnen: Richard Huddy ist seit kurzem wieder für AMD tätig. Für zweieinhalb Jahre hatte er AMD verlassen, um für Intel zu arbeiten, nun ist Huddy - der nie um klare Worte verlegen ist - mit dem neu geschaffenen Titel des "Chief Game Scientist" wieder zurück.

Diese Tätigkeitsbezeichnung ist nicht nur reine PR, denn seit 18 Jahren kümmert sich Huddy um die Beziehungen zwischen Chipherstellern und Spieleentwicklern. Der Brite, der beim Thema Gameworks auch aus Rücksicht auf mögliche rechtliche Schwierigkeiten stets in hypothetischen Beispielen formuliert, hat im Moment allem Anschein nach vor allem eine Aufgabe: die Welt davon zu überzeugen, dass Nvidias Gameworks nur Nvidia nutzt, nicht den Spielern, und AMD an einem fairen Wettbewerb hindert.

Gameworks für Windows(öffnet im neuen Fenster) ist ein Framework, das von Grafikeffekten wie Haar- und Felldarstellung bis hin zu Bildverbesserungen durch Filterfunktionen wie TXAA Spieleentwicklern die Arbeit sehr erleichtern kann. Der Haken: Gameworks ist in Form von mehreren DLL-Bibliotheken proprietärer Code von Nvidia; in den Quelltext können die Programmierer der Spielestudios im Rahmen eines bestimmten Lizenzmodells Einblick nehmen - so zumindest erklärt es Nvidias Chefentwickler Rev Lebaredian im Interview mit PC Games Hardware(öffnet im neuen Fenster) . Zu beachten ist im Folgenden, dass das Gespräch von Golem.de mit Richard Huddy kurz vor den Äußerungen von Lebaredian stattfand.

Erst Bremsen einbauen und sie dann lösen

Was es für einen Spielentwickler bedeutet, Gameworks zu verwenden, beschreibt der AMD-Sprecher so: "Nvidia liefert die DLL zusammen mit einem Vertrag, der den Entwickler verpflichtet, diese DLL zu verwenden. Wenn man Nvidia wäre, könnte man - ich behaupte nicht, dass Nvidia das tut - ein Update der DLL in letzter Minute liefern. Nehmen wir mal an, das passiert zwei Tage vor dem Auslieferungsdatum eines Spiels und die Entwickler können noch die zwei Tage mit Qualitätstests verbringen, auf die man sich zuvor geeinigt hat. Die DLL implementiert dann den gewünschten Effekt einigermassen vernünftig, aber: Er ist auf AMD- wie Nvidia-Hardware gleichermaßen langsam."

Warum Nvidia das tun sollte, erklärt Huddy mit der Möglichkeit des Austauschs von Shader-Programmen. Dies ist eine Methode, die alle Hersteller von Grafikhardware seit Jahren anwenden, um ihre Treiber für Spiele zu optimieren: Das Spiel wird erkannt und statt einzelner Routinen, die das Programm mitbringt, werden Shader-Programme aus dem Treiber verwendet.

Richard Huddy führt sein Beispiel weiter aus: "Jetzt kommt der Shader-Austausch ins Spiel. Am Veröffentlichungstag des Spiels bringt Nvidia einen neuen Treiber heraus, der den Effekt aus der DLL ersetzt. In der DLL war die Funktion in meinem hypothetischen Beispiel absichtlich kaputt, und der Treiber repariert das. Nvidia kann nun sagen: 'Schaut nur her, wir haben den Treiber für dieses Spiel optimiert und dabei einen tollen Job gemacht, weil wir die Spieler so sehr lieben. Hier ist die höhere Leistung, die ihr als Nvidia-Besitzer verdient.' Nvidia erntet in diesem Szenario also die Lorbeeren dafür, dass es einen kaputten Shader durch einen funktionierenden ersetzt hat."

'Debuggen nur mit DLLs unmöglich'

Gründe für Nvidia, zu solchen Tricks zu greifen, erklärt Huddy auf Nachfragen: "Wenn man genauer hinschaut, sieht man, wie clever das ist. Nvidia kann die DLL zu jedem Zeitpunkt an den Spieleentwickler liefern. Der hat keinen Grund, Verdacht zu schöpfen, weil die Leistung auf beiden Plattformen schlecht ist. Zudem ist es ein neuer Grafikeffekt, von dem man noch nicht wissen kann, wie die Leistung eigentlich ausfallen sollte. Das zu debuggen geht auch nicht, weil man nur die DLL hat." An diesem Punkt widerspricht Nvidia jedoch im Interview von PC Games Hardware: Es soll demnach auch ein Lizenzmodell geben, das Einblick in den Code erlaubt - Huddy zufolge hat sich AMD schon seit längerem erfolglos bemüht, diese Lizenz zu erwerben.

Wie sehr dieses unterstellte Vorgehen die Programmierer von AMD behindern würde, beschreibt der Brite so: "Wir sitzen da und kratzen uns am Kopf, weil wir frühere Versionen des Spiels hatten, bei dem ein bestimmter Effekt AMD- und Nvidia-Chips stark verlangsamt hat. Und auf einmal gibt es da den neuen Nvidia-Treiber, der den Effekt viel schneller macht. Wir müssen dann an dem Tag, an dem das Spiel erscheint, von vorne anfangen. Die Spieletester machen das auch - manchmal auch mit Vorabversionen. Die Tester wollen dann aber ihre Leser dahingehend beraten, welche Hardware sich für das Spiel am besten eignet. AMD sieht dabei schlecht aus, weil die Tester mit schlechtem Code arbeiten, den Nvidia geschrieben hat."

Britische Ironie für ein ernstes Problem

Zusammenfassend sagt Huddy zu seinem Beispiel: "Was für ein herrliches Konzept!" - aus Sicht von Nvidia natürlich, denn mit höchster Ironie nennt der AMD-Manager das im Wortlaut ein "magnificent concept" und bezeichnet solche mutmaßlichen Strategien an anderer Stelle als "lovely" .

Während die Zusammenarbeit mit Nvidia sich also im Moment als noch schwieriger als sonst darstellt, pflegt AMD mit anderen Entwicklern viel bessere Beziehungen. So bestätigte Richard Huddy, dass sein Unternehmen unter anderem mit Epic Verträge abgeschlossen hat, die vollen Einblick in den Quelltext der Unreal Engine erlauben. Das ist in diesem Fall aber auch nur eines von zwei Lizenzmodellen, beim anderen wird nur der Quelltext offengelegt, den man für eigene Modifikationen an Teilen der Engine wirklich braucht. Ähnlich, so Huddy, sei das auch mit der Source Engine von Valve.

"Niemand entwickelt, ohne zumindest in einen Teil des Quelltextes Einblick nehmen zu können" , erklärt Huddy weiter. "Für AMDs SDK bieten wir den vollen Quelltext an. Microsoft tut das auch, mit Ausnahme der DirectX-DLLs. Wenn es dabei aber eine neue Funktion wie Displacement Mapping gibt, zeigt es auch dafür den Code." Auch die von DirectX genutzten Shader-Programme bietet Microsoft Huddy zufolge an, sie sind in der Sprache HLSL geschrieben. Anhand dieser Strukturen können dann Spieleentwickler und Treiberprogrammierer ihren Code anpassen. Auch andere Unternehmen würden so verfahren, führt der Spielechef weiter aus, er nennt dabei Apple, Imagination und Intel.

"Die einzige Ausnahme ist im Moment Nvidia. Es zeigt Videos mit Beispielen für die Effekte und gibt einem dann die DLLs. Es soll jetzt zwar Ausnahmen unter nicht bekannten Bedingungen geben, bei denen die Spieleentwickler den Quelltext sehen dürfen, aber das trifft auf uns als AMD nicht zu. Wir werden vom Zugang zum Code und manchmal auch den DLLs ausgeschlossen. Es gab Vorfälle, bei denen uns Spieleentwickler sagten, sie dürften uns laut ihren Verträgen mit Nvidia all das nicht geben. Um unsere Treiber zu optimieren, ist es aber der einzige Weg, sich den Code anzuschauen, zu verstehen, was er tut, und dann Teile davon durch eigene Shader-Programme im Treiber zu ersetzen."

Geistiges Eigentum war bisher nie das Problem

Dieses "Shader-Replacement" , wie die Technik meist genannt wird, ist seit Jahren Standard in der Grafikbranche. Manche Nutzer sehen aber immer noch als Mogelei an, wenn ein Grafiktreiber nicht genau das macht, was das Spiel von ihm verlangt - denn letztlich passiert das nicht, wenn Shader-Programme durch schnellere ersetzt werden. Richard Huddy erkennt die Diskussion darum in unserem Gespräch als "sehr subtil" an, sagt aber: "Wenn es unser Ziel ist, das Erlebnis, das der Spielentwickler vorgesehen hat, mit der höchsten Bildrate zu präsentieren, kann man kaum darüber diskutieren, ob Shader-Replacement eine gute Sache ist."

Auch dabei ist der Quelltext wichtig: "Wenn man einen Shader vor sich hat, der ineffizient ist, kann man das im Compiler sehen. Angenommen, das Programm besteht aus zehn Befehlen und man kann das mit dem mathematisch identischen Ergebnis auf acht beschränken, dann hat man so optimiert, dass sich keinerlei Änderungen ergeben. Das lässt sich manchmal auch automatisieren. Wenn man aber einen Shader schreibt, der nur halbwegs ähnliche Ergebnisse liefert, kommt man in große Schwierigkeiten." Dem seien heute durch die Spezifikationen von Microsoft für DirectX-11-Hardware sehr enge Grenzen gesetzt. Einen Fall wie die überoptimierten Treiber von Nvidia für die GeforceFX, die Ergebnisse des 3DMark03 verfälschten , kann sich Huddy inzwischen nicht mehr vorstellen.

Wie sehr sich der Ansatz von Gameworks nach Huddys Meinung von bisherigen Entwicklungen in der Spielebranche unterscheidet, macht er an seiner eigenen Karriere fest. Dabei war er von 1998 bis 2002 auch bei Nvidia beschäftigt, aber: "In all der Zeit in der Branche habe ich nie versucht, einen Spieleentwickler dazu zu bringen, für einen Effekt eine DLL von mir zu verwenden. Ich hatte auch nie eine Anfrage in dieser Richtung. Auch als ich bei Nvidia war, haben wir das nicht gemacht. Man fragt sich jetzt, was der Grund dafür sein könnte, nur DLLs zu liefern. Nvidias Argument ist im Moment, dass es sein geistiges Eigentum schützen müsse. Das war aber bisher noch nie ein Problem. Es gibt ihnen aber meiner Meinung nach die Möglichkeit, mich dazu zu zwingen, in einem Benchmark zu verlieren, den Nvidia geschrieben hat - und ich habe dabei nichts falsch gemacht."

Wie Nvidia Gameworks verteidigt, ist in einem Interview mit den Geforce-Machern bei PC Games Hardware(öffnet im neuen Fenster) nachzulesen.


Relevante Themen