Archivo

Categories
Portada (146)

Archive 2018
Julio (1)
Mayo (1)

Archive 2017
Julio (3)
Junio (9)
Abril (1)
Enero (8)

Archive 2016
Junio (8)
Mayo (4)
Abril (3)
Marzo (3)
Enero (7)

Archive 2015
Agosto (3)
Julio (2)
Junio (1)
Mayo (1)
Abril (2)
Marzo (4)
Enero (9)

Archive 2014
Agosto (12)
Julio (53)
Junio (11)

Portada

Notapor DEFALT » 04 May 2015, 13:07

Imagen


Procedente de las patentes de Microsoft con la abreviatura "NW" (para que se entienda, públicas), hoy dedicaré la presente entrada a desgranar un poco lo que la citada patente contiene, que no es otra cosa que la tecnología que Microsoft ha llamado "Outatime" (anteriormente Project DeLorean).

Outatime se presenta como un recurso que facilite la existencia de los juegos que usen cloud computing, tecnología que sabemos que aunque se usa de manera muy residual a día de hoy, con DX12 tiene prevista una hoja de ruta prometedora en cuanto a aplicaciones que se le quieren dar, entre otras la computación de físicas, efectos de partículas, renderizado, etc. Todo ello unido al uso de los tiled resources (avanzada tecnología de compresión de texturas de alta definición en un espacio reducido).

Imagen



Pero centrándonos en Outatime, estamos ante un sistema denominado de “ejecución especulativa”. ¿Qué quiere decir eso? Que predice el resultado de algo que se va a hacer antes de hacerse. Incialmente se encuentra en fase de pruebas para el Cloud Mobile en dispositivos surface con Windows 8 y móviles con Windows Phone, si bien está previsto que se extienda en no mucho a Windows 10 en todos los dispositivos Microsoft (incluyendo, por supuesto a Xbox One).

Imagen



Outatime, por tanto, muestra al jugador aquéllo que pretende hacer antes de que lo haga, basado en un tipo de memorización de pautas que reduce a mínimos el uso de recursos. En resumidas cuentas, y desde una vertiente más técnica, consiste en extraer frames renderizados desde una perspectiva especulativa a través de posibles variables, distribuyéndolas al cliente en una RTT (iniciales correspondientes al término ronda de tiempo de viaje, en inglés “round-trip-time”) a tiempo, de manera que el cliente no percibe ninguna latencia. Para conseguir esto, Outatime combina predicción de conexión/entrada futura, submuestreo del estatus del espacio y tiempo de desplazamiento, compensación de fallas en las predicciones y compresión de ancho de banda.

Imagen


La tecnología se ha probado con algunos juegos como Doom 3 o Fable 3, que presentaban latencias de alrededor de 200-250ms por defecto, lo cual daría lugar a un ping que en condiciones normales haría injugables los títulos en cuestión. Sin embargo, con Outatime, los testers no apreciaron ninguna latencia, y tampoco diferencias entre el juego a nivel local (offline) y el juego usando la citada tecnología, transmitida a través del cloud-computing de Azure.

La finalidad de esta tecnología pasa por minimizar, en definitiva, los efectos del lag en el juego en la nube. En otras palabras, un juego retransmitido vía nube desde un servidor centralizado, ofrecería resultados visuales parejos a la experiencia de reproducirlos localmente.

Imagen


Según las investigaciones del I+D de Redmond, el máximo que se ha llegado a apreciar mientras se utilizaba Outatime es el equivalente a una latencia de alrededor de 50ms (una latencia más que asequible para un juego corriendo en línea) en la actualidad.

La transmisión de frames del servidor al cliente, supondría en condiciones normales la necesidad de un extra de ancho de banda. Sin embargo, para reducir ese exceso, se ha desarrollado esta esquemática de encondeo de vídeo que proporciona una mejor compresión que el encodeo convencional, beneficiándose de la similitud visual entre los frames especulados/predichos.

Imagen


Se ha querido mostrar, por tanto, que con diversas técnicas de compresión es posible afrontar esos requisitos extra de ancho de banda, exhibiendo un bitrate de 1.5 a 4.5 veces más de rendimiento óptimo que el estándar de juego en la nube.

Pero, ¿qué utilidad práctica puede tener Outatime en un futuro a corto-medio plazo y cuál será su reflejo en el mundo de los videojuegos? A priori, Outatime se destina, como hemos atisbado, al juego en streaming computado remotamente a través de la nube. En estos casos, la mayor parte del código se ejecuta "externamente" al equipo local en el cual se reproducen los contenidos. Este sistema trata de paliar, en definitiva, que al jugar notemos "retroceso", tirones, ralentización.

Imagen


Las actividades de procesamiento y renderizado externo, podrían así llevarse a cabo "enmascarando" el ping real al comunicarse con nuestra consola Xbox o dispositivo Windows 10. La finalidad última es, en todo caso, reproducir juegos de la mejor manufactura técnica en cualquiera de ellos, sin depender del hard local y sin transmitir/percibir ningún inconveniente por el hecho de transmitirse y recibirse datos vía internet, pese a que sigan existiendo. Y toda esta tecnología, podemos decir abiertamente que se destina a la convergencia y el futuro 100% de los servicios digitales que Microsoft incorpora a su hoja de ruta y del que otro día hablaremos largo y tendido (aún existen determinados NDA's que impiden abordar la materia con la dedicación y profundidad que merece).

Para quienes quieran estudiar el tema con mayor detalle, dejo a su disposición la esquemática completa de la tecnología Outatime en el enlace que figura a continuación:


http://research.microsoft.com/en-us/um/people/alecw/mobisys-2015-outatime.pdf

Fdo: D.M.A.

Imagen

cron