Top Tools und Techniken zum Erstellen robusterer Windows Games
Eine der unerwünschteren Kosten für die Spieleproduktion sind Supportanrufe. Jedes Mal, wenn ein Benutzer den Kundensupport kontaktiert, wird der Gewinn des Spiels reduziert. Während einige Aufrufe an den Kundensupport nicht vermeidbar sind, können andere durch den Einsatz bewährter Entwicklungsmethoden beseitigt oder reduziert werden. In diesem Artikel werden Tools und Techniken beschrieben, mit denen Sie die Anzahl der empfangenen Supportanrufe reduzieren können.
Alle hier beschriebenen Tools sind kostenlos, und die Techniken sind einfach genug, um die meisten Entwicklungsmethoden hinzuzufügen.
Tools und Techniken:
- PREfast
- AppVerifier
- Microsoft Application Compatibility Toolkit
- Testen des Benutzerkontoschutzes
- PIX für Windows
- Konfigurationserkennung
- Aktivieren vollständiger Compilerwarnungen
- Microsoft Symbol Server
- Windows-Fehlerberichterstattung
- Leistungsoptimierungstools
- Zusammenfassung
PREfast
PREfast for Drivers ist ein Tool von Microsoft, das Ausführungspfade in kompiliertem C oder C++ analysiert, um Laufzeitfehler zu finden. PREfast durcharbeite alle Ausführungspfade in allen Funktionen und bewertet jeden Pfad auf Probleme. Obwohl dieses Tool normalerweise zum Entwickeln von Treibern und anderem Kernelcode verwendet wird, kann es Spielentwicklern helfen, Zeit zu sparen, indem einige Fehler beseitigt werden, die schwer zu finden sind oder vom Compiler ignoriert werden. Die Verwendung von PREfast ist eine hervorragende Möglichkeit, Ihre Workloads und Supportkosten nach der Veröffentlichung zu reduzieren.
PREfast ist im Visual Studio Team System und im Rahmen des Windows Driver Kits enthalten. Weitere Informationen zu PREfast finden Sie unter PREfast für Treiber.
AppVerifier
Microsoft Application Verifier oder AppVerifier ist ein Tool, das Testern helfen kann, indem sie mehrere Funktionen in einem Tool bereitstellen. AppVerifier wurde entwickelt, um das Testen auf häufige Programmierfehler zu vereinfachen. AppVerifier kann die parameter überprüfen, die in API-Aufrufen übergeben werden, fehlerhafte Eingaben injizieren, um die Fehlerbehandlungsfähigkeit zu überprüfen, und Änderungen an der Registrierung und dem Dateisystem protokollieren. AppVerifier kann auch Pufferüberläufe im Heap erkennen, überprüfen, ob eine Zugriffssteuerungsliste (Access Control List, ACL) ordnungsgemäß definiert wurde, und die sichere Verwendung von Socket-APIs erzwingen.
AppVerifier ist zwar nicht vollständig, kann aber eine weitere Komponente der Toolbox eines Testers sein, um ein Entwicklungsstudio dabei zu unterstützen, ein Qualitätsprodukt frei zu geben und potenzielle Kosten nach der Veröffentlichung zu senken.
Weitere Informationen zu Application Verifier finden Sie unter Application Verifier und Verwenden Application Verifier in Ihrem Softwareentwicklungslebenszyklus auf MSDN.
Ein ähnliches Tool für Treiber, Driver Verifier, ist ebenfalls verfügbar. Weitere Informationen finden Sie unter Using Driver Verifier to Identify Issues with Windows Drivers for Advanced Users on Microsoft Help and Support (Verwenden der Treiberverifizierer zum Identifizieren von Problemen mit Windows-Treibern für fortgeschrittene Benutzer unter Microsoft-Hilfe und -Support).
Microsoft Application Compatibility Toolkit
Das Microsoft Application Compatibility Toolkit ist eine Reihe kostenloser Tools, mit denen Entwickler schnell überprüfen können, wie ihre Releases für neu veröffentlichte Service Packs für Microsoft Windows. Wenn Entwickler für neue Service Packs bereit sind, können sie Probleme verhindern oder darauf vorbereitet sein.
Das Anwendungskompatibilitätstoolkit und weitere Informationen finden Sie unter Windows Application Compatibility ( Anwendungskompatibilität).
Testen des Benutzerkontoschutzes
Windows Vista und Windows 7 verfügen über zwei haupttypen von Benutzerkonten: Standardbenutzer und Administrator. Standardbenutzerkonten sind der bevorzugte Typ für alle Benutzer, da sie das Risiko einer Beschädigung des Systems durch schädliche Anwendungen verringern. Da Standardbenutzer Zugriffseinschränkungen haben , z. B. nicht in den Ordner "Programme" oder in HKEY _ LOCAL MACHINE (HKLM) in der Registrierung schreiben können, ist es wichtig, dass Spiele so entworfen und getestet werden, dass sie mit einem _ Standardbenutzerkonto funktionieren.
Weitere Informationen zu diesem Thema finden Sie in den Artikeln Patchen von Spielsoftware in Windows XP, Windows Vista und Windows 7 und Benutzerkontensteuerung für Spieleentwickler.
PIX für Windows
PIX ist ein Tool zum Sammeln und Analysieren von Leistungsinformationen aus einer ausgeführten Anwendung. PIX kann statistische Daten dazu sammeln, warum einige Frames langsamer als andere rendern, und eine schlechte API-Nutzung erkennen. PIX kann auch automatisiert werden, um den täglichen Build zu testen und plötzliche Änderungen an der Anwendungsleistung zu kennzeichnen. Durch die Verwendung von PIX für eine Vielzahl von Hardwarekonfigurationen können Tester und Entwickler dazu beitragen, Supportaufrufe im Zusammenhang mit der Spielleistung zu minimieren.
Konfigurationserkennung
Gerätefunktionen, die von Treibern verfügbar gemacht werden, sind nicht immer richtig. Eine Lösung besteht darin, ein datenbankgesteuertes System für die Konfiguration von Anwendungen zu verwenden, wie im Beispiel ConfigSystem gezeigt, das im DirectX SDK enthalten ist. Ein Erkennungsmodell, das dem System im Beispiel ähnelt, kann dabei helfen, Gerätefunktionen zu identifizieren, die die Spielleistung beeinträchtigen, und somit die Anzahl der Supportanrufe zur Leistung zu reduzieren.
Aktivieren vollständiger Compilerwarnungen
Es ist eine bewährte Methode, alle Compilerwarnungen wiederherzustellen, die durch # eine Pragmawarnung deaktiviert wurden, sobald ein Projekt stabil wurde. Entwickler sollten versuchen, alle Warnungen zu beseitigen, bevor sie ein Produkt veröffentlichen. Auch wenn eine Warnung keinen Absturz oder Fehler auf dem System eines Entwicklers verursacht, kann dies trotzdem ein Problem auf dem System eines Benutzers verursachen. Wenn eine Warnung nicht entfernt werden kann, muss das Testteam ermitteln, ob die Warnung nur wenige oder keine Fehler im System eines Benutzers verursacht.
Microsoft Symbol Server
Microsoft stellt einen über das Internet zugänglichen Server zur Verfügung, der Symboldateien für die Microsoft Windows-Betriebssysteme sowie andere Microsoft-Produkte zur Verfügung stellt. Symbole sind auch vom Server für aktuelle Betaversionen und Releasekandidaten von Windows-Produkten sowie Hotfixes und Service Packs verfügbar. Sie können den Debugger so konfigurieren, dass symbole bei Bedarf während einer Debugsitzung heruntergeladen werden, anstatt Symboldateien separat vor einer Debugsitzung herunterzuladen. Die Symbole werden an einen von Ihnen angegebenen Verzeichnisspeicherort heruntergeladen, und der Debugger lädt sie von dort.
Weitere Informationen zum Microsoft-Symbolserver finden Sie unter Debugging Tools and Symbols: Erste Schritte.
Windows-Fehlerberichterstattung
Windows-Fehlerberichterstattung (WER) ist ein Von Microsoft bereitgestellter Dienst, der Entwicklern hilft, Fehlerinformationen von Anwendungen auf einheitliche und organe Weise zu sammeln. Entwickler sollten diesen Dienst nutzen, um zu ermitteln, welche Fehler am häufigsten auftreten. Die Verwendung von WER kann beim Debuggen häufig gemeldeter Probleme helfen, wodurch Supportaufrufe für die häufigsten Fehler beseitigt werden.
Weitere Informationen zu WER finden Sie unter Absturzabbildanalyse.
Leistungsoptimierungstools
Entwickler können Leistungsanalysetools verwenden, um die Leistung ihres Spiels zu optimieren. Zusätzlich zu PIX gibt es eine Reihe beliebter Leistungsanalysegeräte für Windows, z. B. Intel VTune Leistungsanalyse und AMD CodeAnalyst Leistungsanalyse. Diese Tools helfen bei der Identifizierung von Engpässen und bei der Entscheidung, wie die Gesamtleistung einer Anwendung verbessert werden kann. Die Verbesserung von Leistungsengpässen vor der Veröffentlichung kann dazu beitragen, die Kosten nach der Veröffentlichung zu senken.
Zusammenfassung
Jeder, der an Entwurf, Entwicklung und Tests beteiligt ist, muss überlegen, wie sich seine Arbeit auf die Kosten eines Produkts nach der Veröffentlichung auswirken wird. Durch die Verwendung der oben genannten Tools und Methoden im Produktionsprozess kann die Menge der Supportaufrufe reduziert werden. Dies wiederum erhöht den Gewinn, indem die Kosten für die Spieleentwicklung nach der Veröffentlichung reduziert werden.