A ver señores, esto no es humo, no son cifras relativas, es un aumento literal de fps.
Como se puede ver en las diapositivas, se enfrentaron a 3 problemas comunmente hayados en el desarrollo de videojuegos, cuyo cuello de botella está en el driver, esos 3 problemas se pueden resolver de muchas formas con OpenGL ya que trabaja a bajo nivel y de 1 o 2 con DirectX, ya que está encapsulado y solo puedes utilizar la implementación de Microsoft.
El benchmark con los 3 problemas es de código abierto y cualquiera lo puede compilar, está aquí:
https://github.com/nvMcJohn/apitestAhora pasemos a la descripción de las tareas.
1. Renderizar 160.000 partículas independientes que se generan dinámicamente(en tiempo de ejecución).
2. Renderizar 262.144 objetos tridimensionales independientes sin texturas.
3. Renderizar 10.000 cubos aplicando una textura distinta a cada uno.
El benchmark lo he compilado yo mismo, y aquí lo podéis descargar para probarlo en vuestro ordenador y reproducir los resultados.
viewtopic.php?f=22&t=1991992&p=1735479280#p1735479280Ahora, los resultados en una GeForce GTX 560 Ti y un i7 2600K en frames por segundo. En verde el mejor resultado que consigue OpenGL y en azul el mejor de DirectX 11.
Como podemos ver, según el tipo tarea, con OpenGL se consigue hasta 12 veces más fps que en DirectX11, como es el caso de renderizar miles de objetos poligonales con muchas texturas.
Estas operaciones se pueden presentar en muchos juegos, y cada vez será más frecuente tener que realizarlas. Si hacemos una media de los 3 problemas y los 3 resultados, OpenGL da una media de unas 6 veces más fps que DirectX 11.
Y eso en una GTX 560Ti, por lo que parece en los últimos modelos de GeForce OpenGL va mejor y la diferencia es aún más grande.