venerdì 28 febbraio 2014

Prova di carico di un ambiente online

La prova di carico è un test fatto in genere piazzando un lavoro notevole su un mezzo per verificare se il sistema sopravvive, presenta appesantimenti, rallentamenti, ecc...
Nel caso di un engine, una prova di carico interessante può essere costituita da un ambiente CAD esteso di centinaia di Mb, eseguito in una pagina web od integrato nel blog.
In questo caso ho utilizzato una vecchia mappa di Google Earth del peso di circa 170 Mb in formato "obj" (circa 2 Gb di ram occupata in esecuzione su un programma CAD), inserita in una simulazione integrata creata con Unity del peso di poco superiore a 300 Mb.
La mappa rappresenta il 3D di alcuni quartieri di New York fra Ground Zero e la Statua della Libertà.
La virtualizzazione adottata è in prima persona, benchè non abbia tarato la dimensione all'altezza di una persona.
In aggiunta ai tasti WASD per muoversi ho inserito i classici Q, E, G con effetti sull'immagine.



Il file dell'ambiente virtuale è stato caricato sull'hosting Altervista.

download dei file da Google Drive

Risultati
L'engine ha problemi noti in Windows XP, specie con gli effetti HDR per mancanza di shader (directx ferme alla versione 9 e shader 2); dato che il supporto Microsoft al sistema operativo termina nel 2014, gli sviluppatori dell'engine non hanno risolto i bug in qualche maniera.
L'ambiente virtuale da circa 300 Mb sull'hoster Altervista non viene scaricato completamente, per cui il player segnala un errore a circa un terzo del download/caricamento della mappa.
Questo problema è dovuto molto probabilmente ad un vincolo sulla dimensione dei file che si possono scaricare dal servizio di hosting, quale regola anti-pirateria.
I medesimi file scaricati da Google Drive ed eseguiti sul computer con un qualsiasi browser (si deve aprire il file web.html con per esempio internet explorer, o firefox, o chrome, maxthon, safari,ecc...) eseguono nel browser l'ambiente virtuale, senza alcuna segnalazione di errore.
L'occupazione di RAM arriva a 2 Gb, per cui serve un computer abbastanza potente che non sia di fascia bassa (in genere computer sopra i 400-500 euro hanno già 4 Gb di RAM).

Qualche considerazione sulla mappa
La deformazione delle strutture più piccole fa pensare che queste siano state rilevate con qualche procedimento non molto accurato (per esempio rilevamento aereo con interferenza).
La mappa non è stata renderizzata nell'engine, ma ha delle texture create da immagini fotografiche; purtroppo le foto utilizzate da Google Map non sono molto accurate, poichè sviluppate con un algoritmo ed in questo caso sono visibili molti errori.
E' impensabile utilizzare questi dati per lavori professionali, a meno che non si tratti di sfondi, ma risulta possibile fare rilevamenti laser accurati o ricostruzioni in CAD a mano con ortofoto quali texture, effetti delle immagini e rendering (con l'engine o con 3dsmax utilizzando Mental Ray o V-Ray).
Dovendo fare un lavoro accurato, chiunque potrebbe andare su un quartiere e scattare le foto delle facciate (da raddrizzare con un programma di grafica) per inserirle nella versione virtuale visitabile.
Elementi secondari quali traffico ed alberi risultano schiacciati a terra; questi elementi secondari, pur insignificanti con una visualizzazione aerea come in Google Earth, quando si passeggia fra gli edifici inducono la sensazione che manchi qualcosa, che l'ambiente sia spoglio rispetto come dovrebbe essere.
La visione dalla cima di qualche edificio invece appare come se si osservasse la città da Google Earth.



Nessun commento:

Posta un commento