Compartir vía


Duración de objetos y recursos

Azure Remote Rendering distingue entre dos tipos: objetos y recursos.

Duración de los objetos

Los objetos se consideran cosas que el usuario puede crear, modificar y destruir a su discreción. Los objetos se pueden duplicar libremente y cada instancia puede mutar con el tiempo. Por consiguiente, las entidades y los componentes son objetos.

La duración de los objetos queda totalmente bajo control del usuario. Sin embargo, no está relacionada con la duración de la representación del lado cliente. Las clases como Entity y Component tienen una función Destroy a la que se debe llamar para desasignar el objeto en el host de representación remoto. Además, Entity.Destroy() destruirá la entidad, sus elementos secundarios y todos los componentes de esa jerarquía.

Duración de los recursos

Los recursos son cosas cuya duración administra completamente el host de representación remoto. Los recursos son referencias que se cuentan internamente. Se desasignan cuando nadie hace referencia a ellas.

La mayoría de los recursos solo se pueden crear indirectamente, normalmente mediante su carga desde un archivo. Cuando se carga el mismo archivo varias veces, Azure Remote Rendering devolverá la misma referencia y no volverá a cargar los datos.

Muchos recursos son inmutables, por ejemplo, las mallas y las texturas. Sin embargo, algunos recursos son mutables, por ejemplo, los materiales. Puesto que los recursos suelen compartirse, la modificación de un recurso puede afectar a varios objetos. Por ejemplo, cambiar el color de un material cambiará el color de todos los objetos que usan mallas, que a su vez hacen referencia a ese material.

Recursos integrados

Azure Remote Rendering contiene algunos recursos integrados, que se pueden cargar anteponiendo su identificador respectivo con builtin:// durante la llamada a RenderingSession.Connection.LoadXYZAsync(). Los recursos integrados disponibles se enumeran en la documentación de cada una de las características respectivas. Por ejemplo, en el capítulo sobre Sky se enumeran las texturas cielo integradas.

Duración general

La duración de todos los objetos y recursos se enlaza a la conexión. En un estado de desconexión, todo se descarta. Al volver a conectarse a la misma sesión, el gráfico de escena estará vacío y se purgarán todos los recursos.

En la práctica, la carga del mismo recurso en una sesión, después de una desconexión, suele ser más rápida que la primera vez. Esto se debe a que la mayoría de los recursos se deben descargar desde Azure Storage la primera vez, lo que no es necesario la segunda vez, lo que ahorra una cantidad considerable de tiempo.

Pasos siguientes