AMD: “DirectX steht PC-Entwicklern im Weg”

Nach Meinung von AMDs Entwicklerbetreuer Richard Huddy wird DirectX immer mehr zu einer Bremse für besser aussehende Spiele auf PCs. Die Programmierer würden viel lieber die Grafikprozessoren direkt programmieren, sagt Huddy.

In einem Interview mit Bittech vergleicht Huddy, AMDs Leiter der Betreuung von Spieleentwicklern, die Ansätze der Grafikprogrammierung bei Konsolen und PCs. Während moderne PC-GPUs inzwischen die zehnfache Rechenleistung von Xbox 360 oder Playstation 3 hätten, sei ihre Effizienz bei weitem nicht so hoch.

Das liegt laut Huddy daran, dass die Konsolentitel direkten Zugriff auf die Grafikhardware haben, bei PCs “steht DirectX im Weg”, sagte der Brite. Die am häufigsten an ihn von Spieleentwicklern herangetragene Bitte sei: “Lass das API verschwinden.”

DirectX selbst ist Huddy zufolge vor allem bei verschiedenartigen Aufrufen viel zu langsam, da seien eigene Routinen der Entwickler auf den Konsolen inzwischen viel besser. Mit DirectX-11 habe sich durch Multithreading für die Display-Lists zwar einiges verbessert, das solle das Tempo in diesem Bereich aber gerade mal verdoppeln, was nicht ausreiche.

In der Konsequenz sei die Vielfältigkeit der Darstellung durch DirectX begrenzt. Huddy gibt dazu an, dass Konsolentitel – die häufig auf den PC konvertiert werden und nicht umgekehrt – heute mit direkter Programmierung bis zu 10.000 Aufrufe pro Szene verwendeten. Auf PCs seien aber wegen DirectX nicht mehr als 2.000 bis 3.000 Aufrufe bei gleicher Bildrate möglich. Mitte 2009 zeigte sich der AMD-Manager noch in einem Blogeintrag von DirectX-11 begeistert, wies aber schon auf höhere Frameraten nur durch Threading hin – nicht durch grundlegende Änderungen an der Schnittstelle.

Auch Crytek will ein schlankeres DirectX

Unterstützung erhält Huddy, der nie um starke Worte verlegen ist, von Michael Glück, dem technischen Direktor von Crysis 2. Glück würde auch gerne die Hardware direkt programmieren oder zumindest Zugriff auf den Grafikspeicher erhalten und seinen eigenen Thread-Scheduler verwenden können. Ein standardisiertes API wäre weiterhin von Vorteil, das sollte aber “möglichst dünn sein und mehr Low-level-Zugriffe auf die Hardware erlauben”, sagte Glück.

Hinter den Wünschen von Huddy und Glück steht ein grundsätzlicher Unterschied bei der Entwicklung für Konsolen und PCs. Zwar gibt es auch für die Konsolen standardisierte Schnittstellen (APIs) – diese werden mit fortschreitender Lebensdauer des Geräts aber immer seltener benutzt. Die Entwickler lernen die Hardware immer besser kennen und programmieren sie auf Registerebene direkt. Das kann nur funktionieren, wenn sich diese Hardware nie grundlegend ändert.

Bei PCs sind die Programmierer aber in der Regel auf die Schnittstellen wie DirectX angewiesen, weil die Hardware grundverschieden sein kann. Die Architekturen insbesondere der GPUs unterscheiden sich bei den größten Chipherstellern AMD, Intel und Nvidia stark und ändern sich auch von Generation zu Generation. Da inzwischen mit Konsolenspielen aber mehr Umsatz als mit PC-Titeln zu erzielen ist, werden die Spiele häufig zuerst für die Konsolen angepasst und dann auf den PC portiert. Wenn dann zusätzlich noch das API bremst, wie Huddy meint, können die theoretischen Vorteile der leistungsfähigeren Hardware auf der Strecke bleiben.

Quelle: Golem