AMD: Los GPUs rendirían 10 veces más de no ser por DirectX/OpenGL

futuros juegos podrían estar programados en APIs de bajo nivel

Desde Bit-Tech nos llega una interesante entrevista realizada a Richard Huddy, el gerente de relaciones con los desarrolladores de la división de GPUs de AMD y a Michael Glueck, director técnico de ID de Crytek, donde exponen su interés por incrementar el desempeño de los juegos para PC, y el freno que representan las API de alto nivel (DirectX y OpenGL).

Es un hecho conocido que todos los GPUs actuales no poseen hardware dedicado específicamente a compatibilizarlos con las API gráficas de alto nivel como DirectX y OpenGL, esta labor corre a cuenta de APIs de bajo nivel (Stream en AMD y CUDA PTX en Nvidia), que son las encargadas de digamos traducir las instrucciones de alto nivel, a instrucciones específicas del GPU (instrucciones de bajo nivel o “close to metal”); esta traducción tiene un precio e impide que los GPU demuestren su verdadero potencial. Por ejemplo el hardware gráfico para PC haciendo uso de las API de alto nivel está limitado a unos pocos miles (entre 2000 a 3000) de peticiones de dibujo por cada cuadro; mientras que en una consola (Xbox 360) haciendo uso de APIs de bajo nivel esta cifra se eleva a algunas decenas de miles (entre 10000 a 20000); una diferencia considerable, y más aún teniendo en  cuenta que los GPUs usados en las consolas (Xenos: basado en Radeon X1000 Series) tienen un retraso de 5  generaciones con respecto a los GPUs actuales (Radeon HD 6000 Series).

En consolas no representa mayor problema el uso de APIs de bajo nivel en el lenguaje propio del GPU, pues el hardware es uniforme (todas las Xbox 360 usan el GPU AMD Xenos), escenario que sería muy problemático de implementar en las PC, por la diversidad del hardware y cada uno con sus propias APIs de bajo nivel específicas para cada GPU (AMD, Nvidia, Intel, S3). Glueck de Crytek afirma que tener acceso directo en bajo nivel al hardware y memoria gráfica mejoraría considerablemente el performance y haría mejor uso de todas las características disponibles en el hardware. En un futuro las API de alto nivel podrían empezar a tener menor relevancia al evolucionar los GPUs hacia el cómputo de propósito general; y que el API GPGPU OpenCL podría tener mucho protagonismo en esa evolución. Y no se descarta que APIs como OpenGL lleguen a poseer acceso a funciones de bajo nivel a través de extensiones.

Conclusiones

Hace pocos días se proclamaba la superioridad de DirectX sobre OpenGL; pero al parecer esta superioridad podría ser momentánea. Que curiosas declaraciones, las que son contrarias al largo camino evolutivo que han seguido los juegos para PC, abandonando el uso de APIs propietarias como 3dfx Glide, S3 MeTaL y otras en favor de estándares actuales como DirectX y OpenGL. Es cierto que algunos fabricantes de GPUs hayan (en estos último años) roto de cierta forma los estándares al incluir APIs propietarias y exclusivas, pero espero que DirectX y OpenGL superen sus limitaciones, pues no deseo que de ninguna manera vuelvan los tiempos en que el no tener un GPU de determinada empresa significaba no poder disfrutar de los juegos en GPUs fabricados por otras empresas, o ser penalizados con un desempeño y calidad visual muy inferior.

Link: Farewell to DirectX? (Bit-Tech)

Link: Low Level GPU Programming: the Future of Game Development on PC? (Geeks3D)

powered byDisqus