Condividi tramite


Durata di oggetti e risorse

Azure Rendering remoto distingue tra due tipi: oggetti e risorse.

Durata dell'oggetto

Gli oggetti sono considerati elementi che l'utente può creare, modificare e distruggere a propria discrezione. Gli oggetti possono essere duplicati liberamente e ogni istanza può modificare nel tempo. Di conseguenza, le entità e i componenti sono oggetti .

La durata degli oggetti è completamente sotto il controllo utente. Non è correlato alla durata della rappresentazione lato client, tuttavia. Le classi come Entity e Component hanno una Destroy funzione che deve essere chiamata per deallocare l'oggetto nell'host di rendering remoto. Inoltre, Entity.Destroy() eliminerà l'entità, i relativi elementi figlio e tutti i componenti di tale gerarchia.

Durata delle risorse

Le risorse sono elementi la cui durata è interamente gestita dall'host di rendering remoto. Le risorse vengono conteggiate internamente. Vengono deallocati quando nessuno li fa più riferimento.

La maggior parte delle risorse può essere creata indirettamente, in genere caricandole da un file. Quando lo stesso file viene caricato più volte, Azure Rendering remoto restituirà lo stesso riferimento e non caricherà di nuovo i dati.

Molte risorse non sono modificabili, ad esempio mesh e trame. Alcune risorse sono tuttavia modificabili, ad esempio i materiali. Poiché le risorse vengono spesso condivise, la modifica di una risorsa può influire su più oggetti. Ad esempio, la modifica del colore di un materiale cambierà il colore di tutti gli oggetti che usano mesh, che a loro volta fanno riferimento a tale materiale.

Risorse predefinite

Azure Rendering remoto contiene alcune risorse predefinite, che possono essere caricate anteponendo il rispettivo identificatore con builtin:// durante la chiamata a RenderingSession.Connection.LoadXYZAsync(). Le risorse predefinite disponibili sono elencate nella documentazione per ogni rispettiva funzionalità. Ad esempio, il capitolo sky elenca le trame del cielo predefinite.

Durata generale

La durata di tutti gli oggetti e le risorse è associata alla connessione. In caso di disconnessione, tutto viene rimosso. Quando si riconnette alla stessa sessione, il grafico della scena sarà vuoto e tutte le risorse vengono eliminate.

In pratica, il caricamento della stessa risorsa in una sessione, dopo una disconnessione, è in genere più veloce della prima volta. Questo è il caso perché la maggior parte delle risorse deve essere scaricata da Archiviazione di Azure la prima volta, che non è necessaria la seconda volta, risparmiando una notevole quantità di tempo.

Passaggi successivi