Valve: OpenGL es más rápido que DirectX, incluso en Windows

L4D2, que se ejecuta de forma nativa en Ubuntu 11.10

En un giro aterrador que refuerza El disgusto de Valve por Windows 8, resulta que el motor Source, el motor 3D que impulsa Half Life 2, Left 4 Deady Dota 2 - se ejecuta más rápido en Ubuntu 12.04 y OpenGL que en Windows 7 y DirectX / Direct3D.

El equipo de Valve Linux lo analiza en su nuevo blog brillante: Con una Nvidia GTX 680, Intel i7-3930k y 32 GB de RAM, Windows 7 y DirectX, Quedan 4 muertos 2 alcanza un máximo de 270,6 fps. Con el mismo hardware, pero software diferente, Ubuntu 12.04 y OpenGL, L4D2 puntúa 315 fps, casi un 20% más rápido que Windows.



Estas cifras son notables, considerando que Valve ha estado refinando el rendimiento del motor Source en Windows durante casi 10 años, mientras que el equipo de Valve Linux solo ha estado trabajando en el puerto Linux de Source para Unos pocos meses. Valve atribuye la aceleración a la 'eficiencia subyacente del kernel (Linux) y OpenGL'.



El puerto de Linux de L4D2 no comenzó a 315 fps, por supuesto, la versión inicial en realidad alcanzó un máximo de solo 6 fps. Para lograr una ganancia de rendimiento tan grande, se adopta un enfoque de tres frentes: el juego está ajustado para jugar bien con el kernel de Linux, el juego está optimizado para funcionar con OpenGL (en lugar de DirectX) y los errores en los controladores de gráficos de Linux son dirigido.

Este último punto es interesante: Valve tiene relaciones de larga data con AMD, Nvidia e Intel, donde Valve informa errores de controladores y el fabricante de GPU los corrige de manera oportuna. Valve está trasladando esta relación a Linux, que es muy importante para el crecimiento continuo de Linux como plataforma de juegos. En este caso, Valve dice que el controlador de Nvidia Linux carecía de compatibilidad con subprocesos múltiples y, una vez que lo agregaron a una versión posterior del controlador, el rendimiento aumentó.



Pero aquí está lo mejor: con estas nuevas optimizaciones de OpenGL, la versión OpenGL de L4D2 en Ventanas ahora es más rápido que la versión DirectX. Con el mismo hardware, Windows 7 / OpenGL / L4D2 registra 303,4 fps, en comparación con Windows 7 / DirectX / L4D2 a 270,6 fps. En resumen: OpenGL es más rápido que DirectX.

Logotipo de DirectXComo para por qué OpenGL es más rápido que DirectX / Direct3D, la respuesta simple es que OpenGL parece tener una canalización más fluida y eficiente. A 303,4 fps, OpenGL está renderizando un fotograma cada 3,29 milisegundos; a 270,6 fps, DirectX está procesando un fotograma en 3,69 milisegundos. Esa diferencia de 0,4 milisegundos se debe a la rapidez con la que la canalización de DirectX puede procesar y dibujar datos 3D.

¿Por qué todavía usamos Direct3D?

Si OpenGL es más rápido, ¿por qué DirectX sigue siendo la API predominante? No se debe a la calidad de la imagen o las características: OpenGL 4.0 tiene todos los sombreadores, teseladores y widgets que tiene DX. No se debe al soporte de hardware: todas las tarjetas gráficas Nvidia y AMD admiten la última versión de OpenGL junto con DirectX.



En realidad, todo se reduce a esa vieja y miserable cosa que llamamos efecto red y, por supuesto, peso monopolístico y dólares de marketing. DirectX, debido a que tiene una API más limpia y mejor documentación, es más fácil de aprender. Más desarrolladores que utilizan DirectX = más juegos DirectX = mejor compatibilidad con controladores. Este es un bucle vicioso que nuevamente conduce a más desarrolladores DX, más juegos DX y mejores controladores / herramientas / documentación DX. Microsoft también ha comercializado implacablemente DirectX, y ¿quién puede olvidar el lanzamiento de Windows Vista y la campaña de difamación de OpenGL de Microsoft? La versión empaquetada de Vista de OpenGL quedó completamente paralizada, lo que obligó a muchos desarrolladores a cambiar a DirectX.

Steam LinuxMicrosoft tiene una buena razón para obstaculizar el progreso de OpenGL, por supuesto: mientras DirectX es propietario y solo se ejecuta en Windows, Xbox y Windows Phone, OpenGL es completamente multiplataforma. Hay implementaciones sólidas de OpenGL para Mac, Linux, PlayStation 3, Nintendo Wii y casi todos los teléfonos inteligentes modernos (OpenGL ES). Obviamente, lo mejor para Microsoft es garantizar que las mejores experiencias de juego sean exclusivas de sus plataformas.

Con El disgusto de Gabe Newell por Windows 8 (y Blizzard haciéndose eco de sus sentimientos), la inminente liberación de Steam en Linuxy el continuo crecimiento de los juegos para teléfonos inteligentes, podríamos estar en la cúspide de una revolución OpenGL. Si la corona de los juegos de Windows continúa cayendo, OpenGL pronto podría convertirse en la API predeterminada, en lugar de una ocurrencia tardía. Muy pronto, podría ser estándar desarrollar un juego que funcione bien en todas las plataformas, en lugar de centrarse en Direct3D y dejar a Linux y OS X al margen.

Valve hablará sobre sus avances en Linux / OpenGL en SIGGRAPH 2012 la próxima semana. SIGGRAPH es donde solemos escuchar sobre las últimas noticias de OpenGL y DirectX, ¡así que estad atentos!

Actualizado a las 2:40: La historia decía originalmente que la especificación OpenGL suele estar por delante de DirectX, pero eso no ha sido cierto desde hace algunos años.

Copyright © Todos Los Derechos Reservados | 2007es.com