Oculus dice adiós a DirectX 9
22 ENE 2015 17:14
La API DirectX 9 fue lanzada a finales de 2002 y todavía es frecuente ver juegos para Windows que la utilizan, a pesar de que la versión 10 llegó en 2006 y la 11 en 2009. Pues bien, Oculus ha decidido que ha llegado el momento de pasar página.
El anuncio se ha producido en los foros de Oculus, donde el community manager ha dicho que, debido a las limitaciones de la API, el soporte para DirectX 9 desaparecerá en futuras versiones de la librería LibOVR, con lo cual Oculus centrará sus esfuerzos en DirectX 11 y OpenGL, y eso beneficiará a la experiencia de realidad virtual en entornos Windows. Las aplicaciones para Oculus Rift basadas en DirectX 9 seguirán funcionando, pero no podrán ser compiladas con futuras versiones del SDK y podrían sufrir de una mayor latencia después de que Oculus elimine el soporte oficial.
Esto puede dar problemas en algunos de los juegos comerciales ya disponibles, como Half-Life 2 o Live for Speed, a los cuales no les quedaría más remedio que actualizar su API para seguir funcionando con futuras versiones del Rift. En el caso de Valve no parece demasiado problemático, ya que su motor también puede funcionar con OpenGL, de hecho las versiones para Linux y Mac de la saga Half-Life ya lo hacen. En cuanto a los juegos DX9 que funcionan mediante wrappers como Vireio, por suerte no se verán afectados, ya que Vireio por ejemplo no utiliza el SDK para la parte gráfica sino que se renderiza en el propio cliente.
knack
#31 » Respuesta a Nikolas #25 26 ENE 2015 3:00
No, no tengo los huevos pelados todavía, ni me lo creo ni soy pro, ni experto en la materia, mis explicaciones pueden contener errores de conceptos, aunque normalmente si no lo entiendo bien no hablo pero aveces puede pasar que crees entenderlo... ya me entiendes.
Por eso me gusta hablar del tema, si fuera pro te lo hubiera sido más determinante con mi opinión seguramente :P, lo que si me gusta que si me rebaten algo sea con cierta lógica y coherencia y tu en algunas cosas estas bastante flojillo como para entrar en debate, otras como ya te dije se ve que leistes del asunto pero hay concepto o palabras que no entiendes bien o no sabes utilizar y mezclas de una forma incoherente.
Y muchas cosas me cuesta seguirte las palabras que utilizas, posiblemente por las traducciones que hacen la gente a palabras técnicas y que yo estoy acostumbrado a leer en papers en ingles y me hacen simplemente dudar o no entender bien de que hablas o que te refieres
knack
#32 » Respuesta a NoxWings #29 26 ENE 2015 3:04
Nikolas
#33 » Respuesta a knack #31 28 ENE 2015 19:54
Creo que decimos cosas similares pero no nos acabamos de entendernos, voy a intentar explicarme por "tiempos" que creo que me entenderás mejor, si la cago en algo me dices que yo entiendo mas de HW y mi experiencia en SW de diseño de videjuegos es mas teoría ;), me interesan mas " las tripas" XD.
Estamos de acuerdo en que una drawcalls es una peticion a la gráfica para que renderice, pedazos de objetos o según que un objeto completo.
El caso es que actualmente sobre dx11 el proceso de renderizar la escena no está aprovechando los tiempos muertos que se dan entre que la CPU pide pintar, modificar o borrar una drawcalls
Con DX12 aparecen las GPU con multicontexto gráfico que permiten aprovechar mucho mejor esos tiempos muertos, al poder ir preparando la siguiente drawcall en estos tiempos muertos.
Y por otro lado y como sabes un drawcall no tiene porqué ocupar la totalidad de cómputo de la GPU. Es decir podríamos dividir la GPU en 2 drawcall paralelos que usen solo x parte de la GPU evitando de nuevo los tiempos muertos que se darian si usáramos la totalidad de la GPU para un drawcall y luego la totalidad de la GPU para el otro
Un cambio de drawcall requiere tiempo, cada objeto puede utilizar varias texturas que hay preparar; también colocar los drawstates , bueno ya sabes; Este proceso sera mucho menor al aprovechar que los 8 contextos pueden atacar a la GPU y cambiar sus estados. . Con lo que DX12 ayudará a no depender tanto de gestionar la escena, en resumen a ahorrar CPU y renderizar de manera mas eficaz.
Entonces era lo que intentaba explicar, reduces tiempos muertos por un lado y quitas carga a la CPU, pero como te decía para la parte de usar múltiples contextos gráficos necesitas HW nativo para DX 12
Te pego de nuevo una imagen para que le eches un ojo, hay tienes una GPU DX12 nativa y sus 8 contextos y una GPU estándar con aces extras para trabajo asíncrono ( similar a una GPU de PC)
P.D ese juego de tocar teta que rule ya XD
Nikolas
#34 8 FEB 2015 17:15
Lo muevo a tecnologia