Hace ya unas semanas que no escribía en el blog. Por la pandemia, este año el comienzo del curso está siendo todo un reto (ya hablaré otro día de ello)… pero además, estaba esperando a poder dar buenas noticias. Y es que, durante las últimas 7 semanas, me he dedicado a revisar miles de líneas de código fuente de LLOG VR – el primer laboratorio virtual de logística.
Con el objetivo de analizar y mejorar el rendimiento de la aplicación; durante estas semanas, he estado repasando cientos de rutinas: desde la carga inicial del escenario virtual, la lectura y escritura de ficheros, animaciones, renderizados, hasta los algoritmos del SGA integrado… y mucho más. Buscando en cada línea de código la forma de rascar o ahorrar milisegundos de cálculo (literalmente).
Todo el mundo coincide en que cuanto mayor sea la tasa de refresco, mejor es la experiencia. Libre de tirones (lags), más suave, más inmersiva, más real y acorde con nuestra propiocepción.
Si deseas que un juego vaya suave, debería de poder verse como mínimo a 60 FPS (frames per second, o fotogramas por segundo). Esto significa que cada fotograma debe calcularse y dibujarse en unos 16.6 ms (milisegundos).
Aunque en verdad, en realidad virtual el ordenador debe calcular y dibujar la escena dos veces (una para la pantalla de cada ojo) – e incluso una más si estás proyectando tu experiencia en una pantalla externa.
Algunas gafas de realidad virtual, como las Oculus Quest funcionan con una pantalla de 72 Hz, o lo que es lo mismo 72 FPS (13.9 ms/fotograma). Otras como las Valve Index y las nuevas Oculus Quest 2, alcanzan los 90 Hz, esto es 90 FPS (11.1 ms/fotograma). Así que el reto es que en 11 ms el dispositivo o el ordenador pueda calcular y representar toda la escena dos y tres veces. Casi nada!
No pretendo explicar hoy cómo lo he hecho. Tan sólo reflexionar… sobre el hecho de que si te esfuerzas mucho, no te das por vencido, y pones lo mejor de ti (tu inteligencia) se puede llegar literalmente al límite del hardware. Ahora, LLOG VR va mejor que nunca.
Suave como la seda! Es una experiencia más inmersiva, más agradable. Hasta los vehículos se manejan más fácilmente y con mayor precisión.
En las siguientes imágenes podéis ver el resultado de algunas pruebas que hicimos. En ellas, conectamos las Oculus Quest (72 Hz) a un ordenador a través de una wifi 5 GHz mediante VirtualDesktop. Como podéis ver, alcanzamos tasas de refresco superiores al hardware de las Oculus Quest, y de hasta 90 FPS (el límite de las Valve Index y Oculus Quest 2).
Con tiempos de procesamiento de unos 3-4 ms/fotograma de forma sostenida. Lo cuál es una verdadera pasada!
Hay que tener presente que en ese tiempo el ordenador debe, calcular y dibujar la escena 2 veces (una para cada ojo), incluyendo físicas, sonidos, interacciones, indicadores, cálculos e indicadores provenientes de los datos del software de gestión de almacén, representación mediante realidad aumentada, conducción de vehículos, etc. Además de mandar la escena via wifi a las Oculus Quest y recibir el resultado para mostrarlo en un dispositivo móvil (iPhone).
Ah! y por si alguien se lo pregunta… la tarjeta gráfica es de hace 3 años, equivalente a NVIDIA 1070. ¿Os imagináis cómo funcionará cuando lo pueda probar en las nuevas RTX 3080-3090?
Así que no puedo estar más satisfecho. Aunque sigo trabajando para seguir mejorando todo lo que pueda (por ejemplo los tiempos de carga inicial y otras cosas)… LLOG VR está quedando como la mel de romer (miel de romero, o un caramelito). No sólo es una experiencia bella, realista, interactiva y sorprendente sino que además va suave, suave.
Algún día os contaré qué tiene que ver todo esto con mis amigas las chicharras… ahí lo dejo.