Prestazioni e sicurezza di WebSlate
Visualizzare e interagire con la panoramica del contenuto Web
Poiché un WebSlate è una pagina Web caricata, è importante considerare le implicazioni per le prestazioni:
Le scene sono in genere efficienti a 60fps con un massimo di 10 WebSlate attive. La frequenza dei fotogrammi e la riduzione generale delle prestazioni possono essere osservate in proporzione al numero di WebSlate posizionati in una scena, indipendentemente dal contenuto.
Il contenuto viene caricato ed eseguito in WebSlate in un thread separato dai thread di aggiornamento e rendering della scena, pertanto è improbabile che influisca direttamente sulla frequenza dei fotogrammi. Tuttavia, è comunque importante considerare il costo dell'esecuzione di JavaScript in una pagina Web sia in termini di complessità di runtime che di utilizzo della memoria.
Per risparmiare sulle prestazioni, i WebSlate disattivati per oltre 30 anni vengono sospesi automaticamente. Riprendono rapidamente il ritorno sullo schermo, ma ciò può influire attivamente sui servizi in esecuzione nella pagina ospitata. Se si tratta di un problema, gli sviluppatori possono disabilitare la sospensione con la casella di controllo "Impedisci sospensione" del prefab. Si noti che in questo modo la scena può utilizzare più risorse, poiché questi WebSlate rimangono sempre attivi.
Poiché i WebSlate non hanno alcuna interfaccia utente di spostamento esterna per impostazione predefinita, la procedura consigliata consiste nel caricare solo GLI URL personalizzati, in cui la navigazione del sito è ciclico e può essere eseguita all'interno della pagina. Questa operazione può essere eseguita con una barra laterale di spostamento o collegamenti a una pagina hub, ad esempio.
Lo strumento Content analizzatore prestazioni (CPA) include un analizzatore WebSlate che misura il tempo medio impiegato dalla pipeline di rendering di Unity per il rendering di WebSlate in un frame.
Le misurazioni sono basate sul registratore del profiler di Unity e richiedono la modalità Di riproduzione. L'analizzatore sposta la fotocamera su ogni WebSlate per raccogliere campioni di profiler sufficienti e calcola il tempo medio di rendering.
In questo modo viene fornita un'analisi di primo livello e generale dei tempi di rendering di WebSlate nel contesto della pipeline di rendering di Unity. Non fornisce la frequenza dei fotogrammi del contenuto WebSlate stesso.
Se la pipeline di rendering di Unity supera la soglia per il rendering di WebSlate (attualmente 10 ms), lo strumento CPA fornisce un avviso.
Le stesse misurazioni sono disponibili anche per il Profiler prestazioni. Il gruppo nel Profiler prestazioni cambia in genere i colori da verde a rosso quando viene superata la quota di budget per una categoria. Per il momento, il gruppo WebSlate viene visualizzato come verde solo fino a quando non viene razionalizzato un budget di tempo di rendering ragionevole per WebSlate.
I WebSlate sono bloccati agli URL a cui passano, impedendo reindirizzamenti dannosi. Tutti gli spostamenti di collegamenti ipertestuali imprevisti verso domini esterni vengono bloccati, a meno che non siano elencati in modo esplicito come dominio consentito (vedere di seguito).
I webSlate sono limitati alla navigazione all'interno del dominio iniziale o ai reindirizzamenti del server e dell'URL specificati.
La navigazione all'interno di un WebSlate è limitata esclusivamente a HTTPS.
L'accesso del dispositivo alla webcam, al microfono e alla georilevazione viene bloccato.
Per garantire la sicurezza da vettori di attacco non previsti basati su URL, ad esempio phishing, WebSlates limita per impostazione predefinita lo spostamento agli URL inclusi nel dominio della prima pagina caricata nel WebSlate. Ad esempio, un WebSlate avviato su https://www.microsoft.com/ passerà solo alle pagine il cui URL inizia con "www.microsoft.com". Anche se ciò garantisce che gli utenti non divergano accidentalmente dal flusso di spostamento previsto, può essere un valore predefinito eccessivamente restrittivo per alcuni casi d'uso, ad esempio l'autenticazione utente, durante il quale potrebbero esserci reindirizzamenti a sottodomini o provider di autenticazione di terze parti.
Il modo per adattarsi a questi casi d'uso consiste nell'aggiungere domini all'elenco di elementi consentiti di WebSlate.
Quando si lavora con WebSlate nell'editor di Unity, è possibile abilitare "Raccogli domini consentiti". In questo modo verrà rimossa la restrizione di navigazione del dominio in modo che sia possibile spostarsi liberamente durante l'esecuzione in modalità di riproduzione per testare lo scenario. Durante l'esplorazione in modalità di riproduzione, WebSlate registra i domini visitati in background.
In questo caso, si espande la navigazione da microsoft.com per includere anche video2.skills-academy.com.
Una volta chiusa la modalità di riproduzione, nella cartella Assets di primo livello è presente un asset denominato "WebViewAllowedDomains.asset".
Facendo clic su questo asset, verrà visualizzato l'elenco di domini aggiuntivi visitati oltre il dominio dell'URL iniziale. È possibile fare clic con il pulsante destro del mouse, copiare e quindi incollare i valori nel campo "Domini consentiti" del componente WebSlate.
Nota: questa opzione non è possibile abilitare nelle scene caricate. Se si lascia abilitato "Raccogli domini consentiti" non verrà rimossa la restrizione nella scena finale. Tuttavia, l'elenco di domini consentiti verrà mantenuto e consentirà lo spostamento finché i domini vengono aggiunti a WebSlate.
Se si conoscono già i domini necessari, è possibile aggiungerli manualmente a WebSlate espandendo l'elenco a discesa "Domini consentiti" e aggiungendo i domini supplementari all'elenco nell'interfaccia utente grafica di Unity.