
El Valve linux Team lo ha hecho, han portado satisfactoriamente Left 4 Dead 2 a GNU/Linux y ahora desmuestran su éxito optimizando el Source Engine para que funcionane en GNU/Linux con OpenGL, pero es que no sólo han demostrado que es posible que el juego rinda bien en GNU/Linux, sino que han hecho que supere a la versión Directx corriendo en Windows 7
Como se dijo hace un par de días, Valve presentará el juego durante el SIGGRAPH LA 2012 en una conferencia titulada: "Left 4 Dead 2 Linux: From 6 to 300 FPS in OpenGL" donde hablarán precisamente de este increíble rendimiento.
El equipo utilizado para las pruebas de rendimiento ha sido un "modesto":
Hardware
Intel Core i7 3930k
NVIDIA GeForce GTX 680
32 GB RAM
Software
Windows 7 Service Pack 1 64-bit
Left 4 Dead 2
Ubuntu 12.04 32-bit
Y los resultados han sido cuanto menos sorprendentes. Según sus propias palabras, cuando comenzaron el desarrollo, el juego no superaba los 6 FPS, un rendimiento horrible, dicho en pocas palabras, pero algo normal cuando inicias un desarrollo en una plataforma hasta ahora "desconocida".
Esto se ha conseguido tras una serie de modificaciones como pueden ser:
Modificaciones para mejor integración con el kernel
Modificaciones para mejorar el rendimiento OpenGL
Optimizar los controladores gráficos de Linux
Por citar algunos ejemplos de lo que han hecho en cada caso, como mejoras respecto al kernel se han centrado en que el juego hiciera un mejor uso de la memoria del sistema. En cuanto a OpenGL han reducido el número de llamadas a OpenGL y añadido algunas nuevas extensiones del motor de renderizado con nuevas interfaces para un mejor encapsulado.
La optimización de los controladores se ha llevado a cabo mediante el trabajo directo con los respectivos fabricantes.
Finalmente, las pruebas han demostrado que han conseguido pasar de los 6 FPS iniciales a nada menos que 315 FPS, mientras que en Windows el juego no ha superado los 270,6 FPS. Pero eso no es todo, la versión OpenGL del juego funcionando en Windows, donde OpenGL es el gran olvidado y apenas está optimizado, también rinde bastante mejor que la versión DirectX alcanzado los 303,4 FPS.
Según los análisis que han hecho, parece ser que la diferencia de rendimiento no se debe al multitasking como pensaban en un principio sino que se reduce a unos pocos microsegundos adicionales que necesita DirectX en cada llamada. También afirman que habiendo demostrado OpenGL que el hardware se puede exprimir aún más, intentarán mitigar este efecto en la versión DirectX.