Condividi tramite


Strumenti e tecniche principali per rendere giochi Windows più affidabili

Uno dei costi più indesiderati per la produzione di giochi è le chiamate di supporto. Ogni volta che un utente contatta il supporto clienti, il profitto del gioco viene ridotto. Anche se alcune chiamate al supporto tecnico non sono evitabili, altre possono essere eliminate o ridotte usando procedure di sviluppo consigliate. In questo articolo vengono descritti gli strumenti e le tecniche che è possibile usare per ridurre il numero di chiamate di supporto ricevute.

Tutti gli strumenti descritti di seguito sono gratuiti e le tecniche sono abbastanza semplici da aggiungere alla maggior parte dei metodi di sviluppo.

Strumenti e tecniche:

PREfast

PREfast for Drivers è uno strumento offerto da Microsoft che analizza i percorsi di esecuzione in C o C++ compilati per trovare bug in fase di esecuzione. PREfast opera usando tutti i percorsi di esecuzione in tutte le funzioni e valutando ogni percorso per i problemi. Anche se questo strumento viene normalmente usato per sviluppare driver e altro codice kernel, può aiutare gli sviluppatori di giochi a risparmiare tempo eliminando alcuni bug difficili da trovare o che vengono ignorati dal compilatore. L'uso di PREfast è un ottimo modo per ridurre il carico di lavoro post-rilascio e i costi di supporto.

PREfast viene fornito con Visual Studio Team System e come parte di Windows Driver Kit. Per altre info, vedi Build PREfast.

AppVerifier

Microsoft Application Verifier o AppVerifier è uno strumento che consente ai tester di fornire più funzioni in un unico strumento. AppVerifier è stato sviluppato per semplificare il test degli errori di programmazione comuni. AppVerifier può controllare i parametri passati nelle chiamate API, inserire input errato per controllare la capacità di gestione degli errori e registrare le modifiche apportate al Registro di sistema e al file system. AppVerifier può anche rilevare i sovraccarichi del buffer nell'heap, verificare che sia stato definito correttamente un elenco di controllo di accesso (ACL) e applicare l'uso sicuro delle API socket.

Anche se non esaustivo, AppVerifier può essere un altro componente della casella degli strumenti di un tester per consentire a uno studio di sviluppo di rilasciare un prodotto di qualità e ridurre i potenziali costi post-rilascio.

Per altre informazioni su Application Verifier, vedere Application Verifier and Using Application Verifier within Your Software Development Lifecycle .For more information about Application Verifier, see Application Verifier and Using Application Verifier within your Software Development Lifecycle.

È disponibile anche uno strumento simile per i driver, Driver Verifier. Per altre informazioni, vedere Using Driver Verifier to Identify Issues with Windows Drivers for Advanced Users on Microsoft Help and Support .For more information, see Using Driver Verifier to Identify Issues with Windows Drivers for Advanced Users on Microsoft Help and Support.For more information, see Using Driver Verifier to Identify Issues with Windows Drivers for Advanced Users on Microsoft Help and Support.

Microsoft Application Compatibility Toolkit

Microsoft Application Compatibility Toolkit è un set di strumenti gratuiti che consentono agli sviluppatori di verificare rapidamente le prestazioni delle versioni nei Service Pack appena rilasciati per Microsoft Windows. Essendo pronti per i nuovi Service Pack, gli sviluppatori possono prevenire o essere pronti per eventuali problemi.

Application Compatibility Toolkit e altre informazioni sono disponibili in Application Compatibility Toolkit (ACT).

Test di protezione dell'account utente

Windows Vista e Windows 7 hanno due tipi principali di account utente: Utente standard e amministratore. Gli account utente standard sono il tipo preferito per tutti gli utenti, poiché riducono il rischio di danni al sistema da parte di applicazioni dannose. Poiché l'utente standard ha restrizioni di accesso, ad esempio non è in grado di scrivere nella cartella Programmi o di HKEY_LOCAL_MACHINE (HKLM) nel Registro di sistema, è importante che i giochi siano progettati e testati per funzionare con un account utente standard.

Altre informazioni su questo argomento sono disponibili negli articoli Patching Game Software in Windows XP, Windows Vista e Windows 7 e Controllo dell'account utente per sviluppatori di giochi.

PIX per Windows

PIX è uno strumento per raccogliere e analizzare le informazioni sulle prestazioni da un'applicazione in esecuzione. PIX può raccogliere dati statistici sui motivi per cui alcuni fotogrammi eseguono il rendering più lentamente di altri e possono identificare un uso scarso dell'API. PIX può anche essere automatizzato per testare la compilazione giornaliera e contrassegnare modifiche improvvise nelle prestazioni dell'applicazione. L'uso di PIX in un'ampia gamma di configurazioni hardware, tester e sviluppatori possono contribuire a ridurre al minimo le chiamate di supporto correlate alle prestazioni del gioco.

Rilevamento della configurazione

Le funzionalità del dispositivo esposte dai driver non sono sempre corrette. Una soluzione consiste nell'usare un sistema basato su database per la configurazione delle applicazioni, come illustrato nel sistema di esempio ConfigSystem, incluso in DirectX SDK. Un modello di rilevamento simile al sistema nell'esempio può aiutare a identificare le funzionalità del dispositivo che ostacolano le prestazioni del gioco e quindi ridurre il numero di chiamate di supporto sulle prestazioni.

Abilitare avvisi completi del compilatore

È consigliabile ripristinare tutti gli avvisi del compilatore disabilitati da #pragma avviso dopo che un progetto è diventato stabile. Gli sviluppatori devono provare a eliminare tutti gli avvisi prima di rilasciare un prodotto. Anche se un avviso non causa un arresto anomalo o un errore nel sistema di uno sviluppatore, potrebbe comunque causare un problema nel sistema di un utente. Se non è possibile eliminare un avviso, il team di test deve verificare se l'avviso causerà alcuni o nessun errore nel sistema di un utente.

Server simboli Microsoft

Microsoft fornisce un server accessibile da Internet che fornisce i file di simboli per i sistemi operativi Microsoft Windows, nonché altri prodotti Microsoft. I simboli sono disponibili anche dal server per le versioni beta correnti e i candidati di rilascio dei prodotti Windows, nonché correzioni a caldo e Service Pack. È possibile configurare il debugger per scaricare i simboli in base alle esigenze durante una sessione di debug, anziché scaricare i file di simboli separatamente prima di una sessione di debug. I simboli vengono scaricati in un percorso di directory specificato e il debugger li carica da questa posizione.

Per altre informazioni sul server dei simboli Microsoft, vedere Simboli per il debug di Windows.

Segnalazione errori Windows

Segnalazione errori Windows (WER) è un servizio fornito da Microsoft per aiutare gli sviluppatori a raccogliere informazioni sugli errori dalle applicazioni in modo unificato e organizzato. Anche se è completamente volontario, gli sviluppatori dovrebbero sfruttare questo servizio per determinare quali bug si verificano più spesso. L'uso di WER può essere utile per il debug di problemi comunemente segnalati, che consentirà di eliminare le chiamate di supporto per i bug più comuni.

Per altre informazioni sull'analisi dei dump di arresto anomalo del sistema, vedere Analisi dump di arresto anomalo del sistema.

Strumenti di ottimizzazione delle prestazioni

Gli sviluppatori possono usare analizzatori delle prestazioni per ottimizzare le prestazioni del gioco. Oltre a PIX, sono disponibili numerosi analizzatori delle prestazioni più diffusi per Windows, ad esempio intel VTune analizzatore prestazioni e AMD CodeAnalyst analizzatore prestazioni. Questi strumenti consentono di identificare i colli di bottiglia e di decidere come migliorare le prestazioni complessive di un'applicazione. Il miglioramento dei colli di bottiglia delle prestazioni prima del rilascio consentirà di ridurre i costi post-rilascio.

Riepilogo

Tutti gli utenti coinvolti nella progettazione, nello sviluppo e nei test devono considerare il modo in cui il suo lavoro influirà sul costo post-rilascio di un prodotto. Usando gli strumenti e i metodi indicati in precedenza nel processo di produzione, il volume di chiamate di supporto può essere ridotto. Ciò a sua volta aumenterà i profitti riducendo i costi post-rilascio dello sviluppo di giochi.