Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 7 di 53
  • livello principiante
Indice lezioni

Ottimizzare la compilazione

Due semplici tecniche per velocizzare il lavoro e lo scaricamento del gioco
Due semplici tecniche per velocizzare il lavoro e lo scaricamento del gioco
Link copiato negli appunti

In questa lezione esaminiamo due tecniche utili ad ottimizzare il nostro gioco.

Escludere un file

Includere un file in Visual Studio può essere utile perché vogliamo gestirlo con un sistema di controllo del sorgente come Team Foundation Source Control. Ma può accadere che un file del genere non debba essere coinvolto nella compilazione: questo accade anche per alcuni tipi di file della content pipeline.

Consideriamo di avere un modello (tank.fbx) che abbiamo incluso nella content pipeline. Questo modello è dotato di alcuni file che rappresentano le sue texture (engine_diff_tex.tga, turret_alt_diff_tex.tga, ...). Se includiamo anche le textures nel progetto content, nella finestra di output troveremo alcuni warning:

turret_alt_diff_tex.tga : warning : Asset was built 2 times with different settings:
turret_alt_diff_tex.tga : warning : using TextureImporter and TextureProcessor
turret_alt_diff_tex.tga : warning : using TextureImporter and TextureProcessor, referenced by tank.fbx (ModelProcessor)

che ci indicano che lo stesso file è stato importato e processato due volte con impostazioni differenti: una volta da solo in quanto texture, un'altra in quanto texture ma all'interno del processing del modello che usa la texture.

Possiamo evitare questo effetto indesiderato modificando le proprietà del file che viene processato due volte, e impostando la sua Build Action a None invece che Compile.

Figura 9. Build action impostata a None
Build action impostata a None

Compressione

In alcune applicazioni, soprattutto quelle che devono essere scaricate da Internet (le applicazioni per Windows Phone 7 ne sono l'esempio perfetto) la dimensione del pacchetto di gioco è molto rilevante. Se consideriamo che la nostra applicazione può essere scaricata dal marketplace con una connessione dati di un telefonino, diventa cruciale che il tempo di download sia breve, evitando costi e attese eccessive all'utente.

Per queste ragioni possiamo scegliere di sacrificare un po' di performance nel tempo di caricamento dei dati in cambio di velocità di trasferimento dei contenuti, abilitando l'impostazione di compressione.

Figura 10. Non compressi
Non compressi

Dalle proprietà del progetto principale (quello che contiene il sorgente del gioco, non il content project) selezioniamo il tab Content Build e la checkbox compress content pipeline output files. I nostri files .xnb verranno così compressi e automaticamente decompressi al caricamento.

Figura 11. Compressi
Compressi

Ti consigliamo anche