Games for Windows Technical Requirements: Best Practices for Games on Windows XP, Windows Vista, Windows 7 und Windows 8
Dieser Artikel enthält technische Anforderungen und bewährte Methoden für Spiele, die auf Windows ausgeführt werden. Wir haben diese technischen Anforderungen und bewährten Methoden in erster Linie geschrieben, um Windows Vista und Windows 7 sowie das Legacybetriebssystem Windows XP abzudecken. Diese bewährten Methoden gelten im Allgemeinen auch für Win32-Desktop-Spiele auf Windows 8.
Dieser Artikel enthält die folgenden Abschnitte:
- Unterschiede bei Windows 8
- Spiele für Windows
- 1.1 Spiele-Explorer-Integration
- 1.2 Unterstützung Family Safety/Jugendschutz
- 1.3 Unterstützung von rich Saved Games
- 1.4 Unterstützung des Xbox 360 Common Controller für Windows [ bedingte Anforderungen]
- 1.5 Unterstützung mehrerer Seitenverhältnisse und -auflösungen
- 1.6 Supportstart über Windows Media Center
- 1.7 Direct3D-Unterstützung
- 1.8 Aktivieren von hohen DPI-fähigen Daten
- Sicherheit und Kompatibilität
- Installation
- 3.1 Unterstützung der einfachen Installation
- 3.2 Unterstützung der Benutzerkontensteuerung für die Installation
- 3.3 Installation in richtigen Ordnern
- 3.4 Ordnungsgemäßes Installieren von Windows-Ressourcen
- 3.5 Vermeiden von Neustarts während der Installation
- 3.6 Richtiges Verwenden der Dateiversionsierung
- 3.7 Unterstützung von bedingten [ Autorun-Anforderungen]
- Zuverlässigkeit
- Xbox 360 Common Controller für Windows Terminologie
- Richtlinien für Middlewareprodukte für Spiele
- Ressourcen
Unterschiede bei Windows 8
Hier finden Sie eine Zusammenfassung der wichtigsten Unterschiede bei der Anwendung dieser technischen Anforderungen und bewährten Methoden auf Windows 8.
-
Die Benutzeroberfläche des Games-Explorers ist nicht sichtbar.
-
Alle Spiele, die Sie beim Spiele-Explorer registrieren, werden als Kacheln in der neuen Windows Benutzeroberfläche angezeigt, aber ein Großteil der Metadaten, die dem Titel zugeordnet sind, ist nicht mehr sichtbar. Sie verwenden weiterhin das Game Definition File Maker-Tool (GDFMAKER.EXE), das jetzt im Windows Software Development Kit (SDK) verfügbar ist, um die Metadaten zu erstellen. Sie verwenden auch die vorhandenen Mechanismen zum Bereitstellen der Metadaten. Testen Sie ihre Games Explorer-Registrierung mit Windows 7, und überprüfen Sie, ob die neue Kachel für die Windows Benutzeroberfläche angezeigt wird, wenn Sie sie auf Windows 8 installieren (siehe 1.1 Games Explorer Integration).
Informationen zum Herunterladen des Windows 8 SDK finden Sie unter Downloads für die Entwicklung von Desktop-Apps.
-
Die Registrierung bei den Game Explorer-APIs ist weiterhin der Mechanismus zum Registrieren Ihres Spiels bei Windows Jugendschutz.
-
Es wird empfohlen, die Windows SDK-Version von GDFMAKER auf der veröffentlichten Version von Windows 8 auszuführen, um sicherzustellen, dass alle derzeit unterstützten Bewertungssysteme aufgefüllt werden können.
Hinweis
Diese Version von GDFMAKER erfordert .NET 4.0.
-
Es gibt jetzt drei Optionen für die Verwendung der XINPUT-API, je nach Ihren Anforderungen.
-
XINPUT 1.4 ist in Windows 8 integriert. Sowohl Windows Store-Apps als auch Desktop-Win32-Apps können XINPUT 1.4 verwenden. Alle Versionen von Windows können XINPUT 9.1.0 für vereinfachte allgemeine Controller verwenden, aber es gibt kein Weiterverteilungspaket mit XINPUT 9.1.0. Alle Versionen von Windows können auch die vorhandene DirectX SDK-Version XINPUT 1.3 verwenden, für die DirectSetup bereitgestellt werden muss.
Informationen zum Windows finden Sie unter Unterstützung des allgemeinen Xbox 360-Controllers in 1.4.
-
Nur eine begrenzte Gruppe von Win32-Desktop-Apps wird auf Windows RT
-
Spiele, die auf Windows 7 ausgeführt werden, können und sollten auf Windows 8 x86- und x64-Plattformen ordnungsgemäß ausgeführt werden.
Weitere Informationen finden Sie unter Unterstützung Windows x64-Versionen.
-
Sicherstellen, dass alle Betriebssystemüberprüfungen ordnungsgemäß durchgeführt werden
-
Die Windows 8 Betriebssystemversion ist 6.2. Windows 8 bestehen die aktuellen Mindestleistentests, die wir für die Spielebereitstellung empfehlen.
-
Das DirectX End-User Redistribution-Paket wird wie bei Windows 7 erfolgreich auf Windows 8 ausgeführt, um D3DX9, D3DX10, D3DX11, XINPUT 1.3, XAUDIO 2.7, XACTEngine usw. bereitzustellen.
-
Aufgrund der Bereitstellungsbehandlung der älteren Verwalteten DirectX 1.1-Assemblys tritt jedoch ein bekanntes Problem mit DirectSetup auf Systemen auf, auf dem nur .NET 4.0 installiert ist. Dieses Problem gilt sowohl für Windows 8,die standardmäßig in .NET 4.5 enthalten sind, als auch für neue Windows XP-Computer, auf denen die .NET 4.0-Runtime installiert ist. Dieses Problem gilt jedoch nicht für .NET-Versionen vor .NET 4.0. Während Windows 8 über ein Anwendungskompatibilitätsverhalten verfügt, um dieses Problem automatisch zu beheben (was Netzwerkzugriff erfordert), empfehlen wir, dass Spiele, die directSetup update weiterhin für die aktualisierte Version der REDIST-Dateien des DirectX SDK (Juni 2010) bereitstellen. Wenn Sie DirectSetup als Titel verwenden, kürzen Sie Ihren Titel wie immer auf die mindestens erforderliche Gruppe von CABs.
Weitere Informationen finden Sie unter 3.4 Installieren sie Windows Ressourcen ordnungsgemäß.
-
Spiele, für die die .NET 2.0-kompatible Runtime (2.0, 3.0, 3.5) erforderlich ist, verwenden weiterhin vorhandene Bereitstellungsmechanismen.
-
Diese Spiele lösen ein Anwendungskompatibilitätsverhalten auf Windows 8 aus, um die .NET 3.5-Runtime automatisch zu aktivieren (was Netzwerkzugriff erfordert). Es wird jedoch empfohlen, dass .NET-Entwickler zur .NET 4.0-Runtime wechseln.
Hinweis
Die Legacyassemblys von Managed DirectX 1.1 sind nicht mit der .NET 4.x-Runtime kompatibel.
Weitere Informationen finden Sie unter 3.4 Installieren sie Windows Ressourcen ordnungsgemäß.
-
Die Verwendung eines AutoRunners oder einer anderen Vorinstallationstechnologie, die auf .NET basiert, wird nicht empfohlen.
-
Sie können davon ausgehen, dass nur .NET 2.0-kompatible Runtimes (2.0, 3.0, 3.5) auf Windows Vista und Windows 7 vorhanden sind. Standardmäßig ist nur die .NET 4.0-kompatible Runtime auf Windows 8 vorhanden.
Siehe 3.7 Support Autorun.
-
Es gibt eine aktualisierte Application Verifier für Windows 8
-
Das Windows 8 SDK enthält diese aktualisierte Application Verifier.
Weitere Informationen finden Sie unter 4.2 Beseitigen Application Verifier Fehler.
Zusätzliche Informationen
Spiele für Windows
Zusammenfassung der Spieleanforderungen
Kundenvorteile
Computerspiele sind eine wichtige Unterhaltungserfahrung auf Windows, aber Bedenken hinsichtlich der Benutzerfreundlichkeit haben im Laufe der Jahre zu Kundenverärkung geführt. Traditionell werden Spiele wie Anwendungen installiert, aber sie werden eher wie Unterhaltungsmedien (Filme oder Titel, z.B. ) verwendet. Innovationen, z. B. Games Explorer, machen Spiele auf konsistente Weise verfügbar, die sich von Standardanwendungen unterscheidet. Diese Innovationen geben spielen auch in Windows einen erstklassigen Bürgerstatus, zusammen mit Musik und Bildern. Die folgenden Anforderungen stellen sicher, dass Windows Vista und Windows 7 eine verbesserte, zugänglichere und einheitliche Spielerfahrung bieten. Gleichzeitig stellen sie die Kompatibilität mit Windows XP sicher.
1.1 Spiele-Explorer-Integration
-
Anforderung
-
Das Spiel muss in Games Explorer (im Ordner Games) auf Windows Vista und Windows 7 sichtbar sein. Wenn diese Option ausgewählt ist, muss das Spiel auch die richtigen Metadaten anzeigen, einschließlich Herausgeber, Entwickler, Veröffentlichungsdatum, Version, Windows Experience Index-Bewertungen, Bewertung (falls zutreffend) und zugehöriger Links.
Wenn das Spiel digital über einen Onlinespieldienst verteilt wird, sollte der Dienstanbieter auch im Spiele-Explorer angezeigt werden. Um eine ordnungsgemäße Verarbeitung des Anbieters sicherzustellen und die Verwendung von RSS-Feeds zu ermöglichen, sollte Version 2 des Schemas für Spieldefinitionsdateien (GDFs) verwendet werden. (Weitere Informationen zu GDFs finden Sie unter Zusätzliche Informationen.)
Darüber hinaus müssen Spielinstallationsprogramme die folgenden Regeln beachten, wenn sie auf Windows Vista und Windows 7 ausgeführt werden:
- Die Installation darf keine Verknüpfung erstellen, um das Spiel auf dem Desktop, im Startmenü oder an einem anderen Ort zu starten.
- Aufgaben und Verknüpfungen zum Entfernen dürfen nicht erstellt werden.
- Benutzer müssen das Spiel entfernen können, indem sie Programme und Features in Systemsteuerung auf Windows Vista und Windows 7 oder Programme in Systemsteuerung auf Windows XP hinzufügen oder entfernen.
Auf Windows XP und in früheren Versionen von Windows kann das Spielinstallationsprogramm programmgruppen, Desktopsymbole oder Verknüpfungen nach Bedarf erstellen.
-
Gründe
-
Windows Games Explorer ähnelt dem Konzept der Windows XP-Ordner Eigene Dokumente oder Meine Bilder. Die Idee besteht darin, ähnliche Inhalte an einem Ort zu zentralisieren und eine einfachere Organisation und kontextbezogene Aktivitäten zu ermöglichen. Games Explorer erweitert das Eigene Dokumente- oder My Pictures-Konzept, indem eine umfassendere Organisation und Kontrolle über Spiele ermöglicht wird. Der Spiele-Explorer ermöglicht es Gamern, alle auf ihren Systemen installierten Spiele anzuzeigen, zu organisieren und mit ihnen zu interagieren. Außerdem können Spieleverleger wichtige Spielinformationen effektiver kommunizieren. Das System ist datengesteuert und erleichtert es einem Spielherausgeber, Spielinformationen über die Lebensdauer des Produkts zu aktualisieren.
-
Zusätzliche Informationen
-
Die Integration in Games Explorer erfordert, dass Sie eine Spieledefinitionsdatei (GDF) erstellen, bei der es sich um eine XML-Textdatei handelt, die zusammen mit einem Windows-Symbol in eine Binärdatei (eine ausführbare Datei oder eine DLL) als Ressource eingebettet ist. Das Spiel muss dann beim Spiele-Explorer registriert werden. Die GDF ermöglicht auch die Weitergabe von bereitgestellten Informationen, z. B. den Titel des Spiels, den Herausgeber, den Entwickler, Links zu Websites und optionale Aufgaben. Beachten Sie, dass Supporttasks nur Links zu Websites sein können, aber wiedergabetasks können auch für optionale Supportaufgaben verwendet werden.
Games-Explorer kann ein Miniaturbild einer Bitmap verwenden, es wird jedoch empfohlen, stattdessen eine Windows Symbolressource mit großen Symbolen (256 256) bereitzustellen. Die Symbolressource sollte Bildgrößen von 256 256 48 48, 32 32 und 16 16 in 24-Bit-Farbtiefe (True Color) und 8-Bit-Farbtiefe (256) enthalten. Der in Visual Studio 2008 und 2010 bereitgestellte Symbol-Editor unterstützt diese großen Symbolformate, ebenso wie IconWorkshop Lite.
Details zur Integration in Windows Games Explorer finden Sie im DirectX SDK. Das DirectX SDK enthält einen GdF-Editor (Game Definition File) sowie ein GDF-Beispiel, das in GDFExampleBinary, einem Beispiel, enthalten ist. Ein weiteres Beispiel, GameUxInstallHelper, stellt Routinen für die Integration der erforderlichen Funktionalität in vorhandene Installationssysteme bereit. Das Game Definition File Validator (gdftrace.exe) bietet Debugunterstützung für die Auswertung einer GDF. Siehe auch "Windows Games Explorer Integration" in der DirectX SDK-Dokumentation für C++.
Windows 7 bietet Unterstützung für die zweite Version eines Schemas für GDF-Dateien. Die neue Version enthält eine vereinfachte Methode zum Erstellen von Spielaufgaben und Unterstützung für Updatebenachrichtigungen, Spieledienstanbieter, Spielstatistiken und RSS-Feeds für Spieledienstanbieter. Die neueste Version von GameUxInstallHelper übernimmt die gesamte Registrierung und legacy-Unterstützung, die für die Verwendung einer GDF-Datei der Version 2 mit Windows Vista erforderlich ist. Verwenden Sie die Tools und den Beispielcode aus dem DirectX SDK von August 2009 oder höher. Es wird empfohlen, eine GDF-Datei der Version 2 zu verwenden, um die Unterstützung für RSS-Feeds, Spielstatistiken und Updatebenachrichtigungen zu aktivieren. Siehe auch die Beispiele ProviderGDFExampleBinary und GameStatisticsExample.
Auf Windows Vista Business Edition, Windows 7 Professional Edition und Enterprise Edition von Windows Vista und Windows 7 ist der Games-Link auf der Startmenü ausgeblendet. Games Explorer ist weiterhin auf dem Startmenü verfügbar, indem Sie auf Alle Programme und dann auf Spiele klicken.
Für zugehörige Anwendungen, die mit Ihrem Spiel installiert werden, aber nicht selbst, können Sie Startmenü Programmgruppen, Verknüpfungen und Desktopsymbole für alle Versionen von Windows erstellen, einschließlich Windows Vista und Windows 7. Solche zugehörigen Anwendungen sollten die anwendbaren Spiele für Windows Anforderungen erfüllen. Weitere Informationen finden Sie unter Richtlinien für Spiele-Middlewareprodukte. Spieldienste sollten sich bei Games Explorer als Spieleanbieter für Windows 7 registrieren. 1
1.2 Unterstützung Family Safety/Jugendschutz
-
Anforderung
-
Spiele müssen Windows Family Safety durch Einhaltung der folgenden Regeln vollständig unterstützen:
- Spiele dürfen nicht erfordern, dass der Benutzer über Administratoranmeldeinformationen zum Spielen verfügen muss. Installation, Patchen und Entfernen können Administratoranmeldeinformationen erfordern, je nach den Anforderungen in Abschnitt 3. (Im Zusammenhang mit dieser Anforderung 2.1 befolgen Sie die Richtlinien für die Benutzerkontensteuerung.)
- Spiele, die von Windows unterstützten Bewertungsboards wie ESRB und PEGI bewertet werden, müssen ihre zugewiesenen Bewertungsinformationen in ihre Spieledefinitionsdatei (GDF) einschließen. Alle verfügbaren Bewertungsdaten müssen in jeder lokalisierten Version der GDF sowie in der sprachneutralen Version enthalten sein.
- Spiele müssen ihre ausführbaren Dateien in der GDF auflisten, um eine gute Benutzererfahrung für allgemeine Anwendungseinschränkungen zu bieten, es sei denn, das Spiel verwendet eine Anti-Anti- anti- anti- antivirus-Technologie, die zufällig benannte ausführbare Dateien zur Laufzeit erstellt.
- Spiele müssen die VerifyAccess-Methode der Games Explorer-Schnittstelle während des Starts aufrufen, falls verfügbar, und beenden, wenn * pfHasAccess als FALSE zurückgegeben wird.
-
Gründe
-
Alle Spiele müssen innerhalb des Kontexts eines Standardbenutzerkontos ausgeführt werden, damit Konten, die von Windows Jugendschutz gesteuert werden, das Spiel spielen können. Eltern möchten den Zugriff ihrer Kinder auf Spiele überwachen und steuern können. Darüber hinaus wünschen sich zahlreiche Branchen-, Behörden- und Gruppierungsgruppen bessere Möglichkeiten, um es Eltern zu ermöglichen, die Spiele zu überwachen und zu steuern, denen ihre Kinder ausgesetzt sind. In Verbindung mit der von Games Explorer angebotenen Architektur bietet Microsoft Eltern diese Möglichkeit über Windows Jugendschutz.
Selbst bei Spielen, die nicht an einem Ratings Board-Programm teilnehmen, führt das Erfordern erhöhter Berechtigungen zu einer schlechten Spielerfahrung für die meisten Benutzerkonten. Dies ist insbesondere der Fall, wenn die Jugendschutzfunktionen aktiviert sind, die erfordern, dass das übergeordnete Element bei jedem Start des Spiels das Administratorkennwort eingibt.
Mit dem Windows System für die Jugendschutzfunktionen können Eltern die Bewertungen auswählen, die ihrer Meinung nach für ihre Kinder geeignet sind. Die Jugendschutzmaßnahmen unterstützen viele der weltweiten Bewertungssysteme. Die Jugendschutzmaßnahmen ermöglichen es Eltern auch, den Zugriff auf Spiele basierend auf Inhaltsdeskriptoren einzuschränken (sofern das entsprechende Bewertungssystem sie unterstützt) und den Zugriff auf einzelne Spiele zuzulassen oder zu unterbinden.
Die Standardauswahl des Bewertungssystems für Windows Jugendschutz basiert auf der Gebietsschemaeinstellung des Systems, kann jedoch vom Benutzer unter Regionale Optionen und Sprachoptionen in Systemsteuerung geändert werden. Daher sollte jede unterstützte Sprache alle verfügbaren Bewertungsdaten bereitstellen, damit der Benutzer die Möglichkeit hat, das gewünschte Bewertungsboard auszuwählen.
-
Zusätzliche Informationen
-
Spiele ohne Bewertung müssen weiterhin die Anforderungen erfüllen, um Das Spielen als Standardbenutzer zu unterstützen und VerifyAccess aufzurufen. Solche Spiele werden standardmäßig in der Kategorie Unrated verwendet, zeigen den Text "No Rating Provided" (Keine Bewertung bereitgestellt) im Spiele-Explorer an und unterliegen der Einstellung Game Restrictions (Spieleinschränkungen) unter Jugendschutz für nicht bewertete Spiele. Die Standardeinstellung Einschränkungen ist Zulassen.
Bewertungsinformationen in der GDF werden ignoriert, wenn die enthaltende Binärdatei nicht ordnungsgemäß authenticode signiert ist. Siehe Anforderung 2.3.
Der Game Definition File Editor im DirectX SDK enthält alle unterstützten Bewertungssysteme und repliziert diese Informationen ordnungsgemäß in alle lokalisierten Versionen der GDF sowie in eine sprachneutrale Version. Das GDFTrace-Tool decodiert und überprüft alle vorhandenen Bewertungsinformationen. Verwenden Sie die Version august 2009 oder höher dieser Tools.
Die GDF für einen Spieleanbieter enthält in der Regel keine Bewertungsinformationen und unterliegt den Einstellungen für nicht bewertete Inhalte.
Betriebssystem Unterstützte Bewertungssysteme Windows Vista - CERO (Japan)
- ESRB (USA)
- OFLC (Australien)
- PEGI (Europa)
- PEGI-Schweiz (veraltet)
- PEGI Portugal
- PEGI/BBFC (Vereinigtes Königreich)
- USK (Deutschland)
Windows Vista mit einem Service Pack Service Packs für Windows Vista bieten Unterstützung für Folgendes: - GRB (Südkorea)
- ESRB-Variantinhaltsdeskriptoren "Soll"
Windows 7 Windows 7 unterstützt die von Windows Vista unterstützten Bewertungssysteme und fügt Unterstützung für Folgendes hinzu: - CSRR (Taiwan)
Windows 8 Windows 8 unterstützt die vorherigen Bewertungssysteme und fügt Unterstützung für Folgendes hinzu: - COB-AU (Australien)
- DJCTQ (Brasilien)
- PFB (Südafrika)
- OFLC-NZ (Neuseeland)
- PEGI-FI (Spanien)
- OFLC (Australien)
Hinweis
Jeder Titel, der neue ESRB Windows Vista Service Pack 1 (SP1)-Inhaltsdeskriptoren enthält, wird in Windows Vista ohne Service Pack als Nicht mitRating angezeigt.
Neuere Bewertungsdaten werden in Versionen von Betriebssystemen ignoriert, ohne sie zu unterstützen. Die PEGI-Variante (Europe) ist jetzt zugunsten des standardmäßigen PEGI-Bewertungssystems (Europe) veraltet. Das OFLC-System ist jetzt zugunsten von COB-AU für Australien veraltet.
Weitere Informationen dazu, wie Sie ein Spiel mit Standardbenutzerberechtigungen kompatibel machen, finden Sie im DirectX-Artikel Benutzerkontensteuerung für Spieleentwickler.
Weitere Informationen zur Spieldefinitionsdatei (GDF) finden Sie unter Anforderung 1.1.
1.3 Unterstützung von Rich Saved Games
[Diese Anforderung wurde nicht mehr erfüllt.]
1.4 Unterstützung des Xbox 360 Common Controller für Windows [ Bedingung]
-
Anforderung
-
Spiele, die Gamepad-Controller unterstützen, müssen die Xbox 360 Controller für Windows XInput-API unterstützen. Wenn auch DirectInput-Peripheriegeräte unterstützt werden, kann DirectInput auch verwendet werden. XInput muss jedoch die Standard-API sein, wenn ein Xbox 360 kompatibles Gerät verwendet wird.
Alle Verweise auf allgemeine Controllertrigger und Schaltflächen müssen die Xbox 360 verwenden. Weitere Informationen finden Xbox 360 common controller for Windows Terminologieliste.
Controller-Vibration muss deaktiviert werden, wenn sich das Spiel in einem angehaltenen oder angehaltenen Zustand befindet.
Die Maus-/Tastatursteuerung kann zu einem beliebigen Zeitpunkt nicht vollständig deaktiviert werden. Es muss mindestens eine Option zur Rückkehr zu Spielmenüs verfügbar sein.
-
Gründe
-
Diese Anforderung gibt Gamern die Wahl, entweder den Xbox 360-Controller oder die Tastatur und Maus zu verwenden, je nachdem, welche Eingabemethode natürlicher und intuitiver ist.
-
Zusätzliche Informationen
-
Diese Anforderung gilt nicht für Spiele, die nur die Maus und/oder die Tastatur verwenden.
Es wird empfohlen, die Menünavigation so zu verwenden, dass die allgemein akzeptierten Standardcontrollerschaltflächen verwendet werden:
- A – Akzeptieren
- B – Abbrechen
- Start: Akzeptieren oder Anhalten
- Zurück– Abbrechen, Sichern eines Bildschirms oder einer Menüebene
Weitere Informationen finden Sie unter XInput.
Im Thema XInput und DirectInput werden Probleme bei der gleichzeitigen Verwendung beider APIs erläutert.
Es wird empfohlen, DirectInput nicht zum Implementieren von Tastatur- oder Maussteuerelementen zu verwenden. Tastatur- und Maussteuerelemente sollten nur mithilfe von Windows und Win32-APIs implementiert werden. Weitere Informationen zum Abrufen von informationen zur Mausbewegung mit hoher Auflösung ohne DirectInput finden Sie unter Nutzen High-Definition Mausbewegung.
1.5 Unterstützung mehrerer Seitenverhältnisse und Auflösungen
-
Anforderung
-
Das Spiel muss mindestens die folgenden Seitenverhältnisse und die zugehörigen Bildschirmauflösungen unterstützen:
- 4:3 normal (800 600 oder 1024 768)
- 16:9 Widescreen (1280 720)
- 16:10 Widescreen (1152 720 oder 1680 1050 oder 800 480)
Für die Konfiguration und Erkennung der Bildschirmauflösung muss das Spiel die folgenden Regeln einhalten:
- Das Spiel verwendet standardmäßig die Desktopauflösung des Anzeigegeräts, wenn es sich um eine unterstützte Auflösung handelt. Das Desktop-Seitenverhältnis muss als Suchkriterium verwendet werden, wenn das Spiel eine andere Standardauflösung auswählt.
- Das Spiel muss den Benutzer auffordern, neue Anzeigeeinstellungen zu bestätigen, wenn eine Änderung vorgenommen wird. Wenn der Benutzer nicht innerhalb von 15 Sekunden akzeptiert, muss die Anzeige auf die vorherige Einstellung zurückverwenden.
- Das Spiel darf keine Pixel strecken oder ein 4:3-Renderfenster zentriert werden, um Breitbildschirm-Seitenverhältnisse zu unterstützen. Letterboxing ist jedoch akzeptabel.
-
Gründe
-
Beim Windows 3D-Desktop kann aufgrund der folgenden Faktoren nicht von einem bestimmten Seitenverhältnis oder einer bestimmten Auflösung ausgegangen werden:
- Unterstützung für Anzeige mit hohen Details.
- Größerer Marktanteil von Widescreen-Monitoren.
- MEDIEN-Bereitstellungen für Windows Media Center.
- Anforderungen an die Barrierefreiheit.
-
Zusätzliche Informationen
-
Im Idealfall verwendet das Spiel standardmäßig das native Seitenverhältnis der Anzeige. Das zuverlässige Abrufen dieser Informationen kann jedoch eine Herausforderung darstellen, sodass das Spiel als allgemeinere Lösung davon ausgehen kann, dass der Desktop mit dem nativen Seitenverhältnis ausgeführt wird. Die Desktopauflösung kann durch Aufrufen von EnumDisplaySettings mit ENUM _ REGISTRY SETTINGS ermittelt _ werden.
Weitere Informationen finden Sie in den Abschnitten Seitenverhältnis und Widescreen des DirectX-Artikels Introduction to the 10-Foot Experience for Windows Game Developers.
1.6 Supportstart über Windows Media Center
[Diese Anforderung wurde nicht mehr erfüllt.]
1.7 Direct3D-Unterstützung
-
Anforderung
-
Wenn das Spiel Direct3D verwendet, muss die unterstützte Mindestversion Direct3D 9 und Direct3D der ausgewählte Standardrenderer sein.
-
Gründe
-
Die Windows Vista und Windows 7-Kern-Grafikarchitektur sind auf Direct3D ausgelegt. Direct3D 8 und frühere Versionen werden unterstützt, indem legacy-Schnittstellen neu gelten.
Die Verwendung von Direct3D-Versionen, die neuer als Direct3D 9 sind, wird dringend empfohlen. Weitere Informationen finden Sie unter Games for Windows Showcase S.1. Das Erfordern von Direct3D 10 oder Direct3D 11 ist vollständig konform mit Anforderung 1.7.
1.8 Aktivieren von "High-DPI-Aware" (Hohe DPI-Leistung)
-
Anforderung
-
Spiele und ihre Installationsprogramme müssen ohne visuelle Probleme ordnungsgemäß ausgeführt werden, wenn die DPI-Skalierung (Dots-per-Inch) aktiviert ist (getestet mit 144 DPI für eine Skalierung von 150 % bei einer Anzeigeauflösung von 1600 1200) auf Windows Vista und Windows 7).
Dies erfordert in der Regel, dass die ausführbare Datei des Spiels deklarieren muss, dass sie DPI-bewusst ist. Dies wird durch ein Einbetten eines Manifestelements erreicht: true .
-
Gründe
-
HOCHWERTIGE MONITORE sind üblich, wenn Computer angezeigt werden, und sie sehen am besten aus, wenn sie mit ihren nativen Auflösungen gesteuert werden (in der Regel 1280 1024, 1600 1200 und so weiter). Kunden, die Schwierigkeiten beim Lesen von Text und beim Anzeigen von Bildern mit dieser Auflösung haben, legen ihre Computerdesktops häufig auf eine niedrigere Auflösung fest und erhalten visuelle Artefakte durch die SKALIERUNG von DISPLAYS. Stattdessen können Kunden die Auflösung bei der nativen Größe be lassen und den DPI-Anteil der Windows ändern, wodurch die Darstellung von Element und Text größer wird, ohne die Bildqualität zu einbußen.
Dieses Feature ist zwar seit der Windows XP in irgendeiner Form verfügbar, wird jedoch nur selten von Kunden oder OEMs aktiviert. Mehr als die Hälfte aller Computeranzeigen ist heute basierend auf Kundenfeedback auf eine niedrigere Auflösung als die native Auflösung des Monitors festgelegt. Windows 7 macht dieses Feature für Kunden bei der anfänglichen Einrichtung und beim Ändern der Anzeigeeinstellungen deutlich sichtbarer, und sie werden dazu ermutigen, die DPI-Skalierung zu verwenden, anstatt die Desktopauflösung zu ändern.
-
Zusätzliche Informationen
-
Die SetProcessDPIAware-Funktion kann stattdessen verwendet werden, wenn sie früh im Prozessstartcode aufgerufen wird. Das Hinzufügen zum Manifest wird bevorzugt, um sicherzustellen, dass keine Racebedingungen mit Softwareelementen (z. B. DLLs) vor dem Aufruf des Haupteinstiegspunkts initialisiert werden. Beachten Sie, dass SetProcessDPIAware nur auf Windows Vista und Windows 7 vorhanden ist.
Das Hinzufügen des Manifestelements ist mit Visual Studio 2005 und 2008 einfach. Erstellen Sie eine Datei namens dpiaware.manifest, die den folgenden Text enthält:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3"> <asmv3:application> <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings"> <dpiAware>true</dpiAware> </asmv3:windowsSettings> </asmv3:application> </assembly>Fügen Sie dann in Visual Studio "dpiware.manifest" zum Projekt hinzu. Stellen Sie sicher, dass Manifest einbetten in den Eigenschaften des Projekts auf Ja festgelegt ist. Beachten Sie, dass ältere Versionen des Manifesttools (Mt.exe) eine falsche Warnung mit den DPI-orientierte Manifestelementen generieren. Um dies zu beheben, aktualisieren Mt.exe aus dem Windows SDK auf die neueste Version.
Visual Studio 2010 enthält eine Einstellung in den Projekteigenschaften mit dem Namen Enable DPI Awareness (DPI-Bewusstsein aktivieren), die eine Datei wie dpiaware.manifest nicht mehr benötigt. Suchen Sie enable DPI Awareness (DPI-Bewusstsein aktivieren), indem Sie Konfigurationseigenschaften und Manifesttool erweitern und dann Eingabe und & auswählen.
Bei Windows ist der herkömmliche Anzeigemodus standardmäßig auf 96 DPI festgelegt, was bei CRT-Monitoren üblich war.
Während Vollbildanwendungen die Anzeigeauflösung ändern, verwenden sie beim Einrichten von Puffern und Anzeigerechtecken häufig Fenstermeldungen und Metriken. Die DPI-Virtualisierung bewirkt, dass diese Vollbildanzeigemodi zugeschnitten angezeigt werden, und das Deklarieren von DPI-orientiertem Modus verhindert diese Probleme. Weitere Informationen finden Sie unter Schreiben DPI-Aware Win32-Anwendungen.
Sicherheit und Kompatibilität
Zusammenfassung der Sicherheits- und Kompatibilitätsanforderungen
Kundenvorteile
Die folgenden Anforderungen verbessern die allgemeine Sicherheit von Spielen und tragen dazu bei, dass sie mit Windows in verschiedenen Architekturen, unter verschiedenen Konfigurationen und in unterschiedlichen Modi funktionieren.
2.1 Befolgen Sie die Richtlinien für die Benutzerkontensteuerung.
-
Anforderung
-
Jede ausführbare Datei (d. h. jede Datei mit der Erweiterung .exe) muss ein eingebettetes Manifest enthalten, das die Ausführungsebene durch Das folgende Tag definiert:
<requestedExecutionLevel>Nach Anforderung 1.2 müssen das Hauptspiel und die ausführbare Autoun-Datei die Ausführungsebene asInvoker haben, um Standardbenutzerkontexte zu unterstützen.
Benutzerdatendateien mit Dateizuordnungen, die im Datei-Explorer registriert sind, müssen in einem Unterordner des Ordners platziert werden, der von CSIDL PERSONAL angegeben wird (auch als Dokumente oder _ Eigene Dokumente). Alle anderen Benutzerdatendateien müssen in einem Unterordner der Ordner gespeichert werden, die von CSIDL LOCAL APPDATA oder _ _ CSIDL _ COMMON _ APPDATA angegeben werden. (Diese Verzeichnisse werden standardmäßig für einzelne Benutzer und für alle Benutzer ausgeblendet.)
-
Gründe
-
Die Benutzerfreundlichkeit Windows benutzerfreundlicher, wenn Anwendungen nur mit den erforderlichen Berechtigungen ausgeführt werden.
-
Zusätzliche Informationen
-
Wenn nur einige Features in einer Anwendung Administratorrechte erfordern (z. B. eine Anwendung, die eine Firewall konfigurieren muss), muss der Hauptprozess der Anwendung weiterhin mithilfe von Standardbenutzerberechtigungen ausgeführt werden. Features, die Administratorrechte erfordern, müssen in einen separaten Prozess verschoben werden, z. B. ein Installationsprogramm oder ein Konfigurations-Hilfsprogramm.
Wenn keine Administratorrechte erforderlich sind, sollte die eingebettete Manifest-XML Folgendes enthalten:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2"> <ms_asmv2:security> <ms_asmv2:requestedPrivileges> <ms_asmv2:requestedExecutionLevel level="asInvoker" uiAccess="false" /> </ms_asmv2:requestedPrivileges> </ms_asmv2:security> </ms_asmv2:trustInfo> </assembly>Wenn Administratorrechte erforderlich sind, sollte die eingebettete Manifest-XML Folgendes enthalten:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2"> <ms_asmv2:security> <ms_asmv2:requestedPrivileges> <ms_asmv2:requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </ms_asmv2:requestedPrivileges> </ms_asmv2:security> </ms_asmv2:trustInfo> </assembly>Mit Visual Studio 2005 kann dies problemlos eingebettet werden, indem einfach eine Manifestdatei (.manifest) hinzugefügt wird, die einen der vorherigen Blöcke zum Projekt enthält, und um sicherzustellen, dass Manifest einbetten in den Projekteigenschaften für Manifesttool auf Ja festgelegt ist. Für Visual Studio 2008 und 2010 können UAC-Eigenschaften direkt in den Projekteigenschaften für den Linker auf der Seite Manifestdatei festgelegt werden. Beachten Sie, dass ältere Versionen des Manifesttools (manifest tool, Mt.exe) eine falsche Warnung mit den UAC-Manifestelementen generieren. Um dies zu beheben, aktualisieren Mt.exe aus dem Windows SDK auf die neueste Version.
Unter Anforderung 3.1 finden Sie Details zu den speziellen Fällen von Installation, Patchen und Entfernen.
Dynamic Link Libraries (DLLs) erfordern keine solchen Manifeste.
Weitere Informationen zur Benutzerkontensteuerung finden Sie unter Benutzerkontensteuerung für Spieleentwickler.
2.2 Unterstützung Windows x64-Versionen
-
Anforderung
-
Um die Kompatibilität mit 64-Bit-Editionen von Windows, sollten Spiele die folgenden Anforderungen erfüllen.
- Titel- und Titelinstallationsprogramme dürfen keinen 16-Bit-Code enthalten oder 16-Bit-Komponenten verwenden.
- Wenn das Spiel für den Betrieb von Kernelmodustreibern abhängig ist, müssen x64-Versionen dieser Treiber verfügbar sein. Das Spielsetup muss die richtigen Treiber und Komponenten für die 64-Bit-Editionen von Windows.
-
Gründe
-
Viele Windows Vista- und Windows 7-Benutzer führen während der Lebensdauer des Produkts 64-Bit-Editionen des Betriebssystems aus. Daher ist es entscheidend, dass Anwendungen mit diesem Betriebssystem kompatibel sind.
-
Zusätzliche Informationen
-
Windows unter Windows 64 (WOW64) ermöglicht die Ausführung von 32-Bit-Code auf 64-Bit-Editionen von Windows, sodass es nicht erforderlich ist, dass die Anwendung nativen 64-Bit-Code auf 64-Bit-Editionen von Windows. 64-Bit-Code wird nicht auf 64-Bit-Editionen von Windows.
Die Aufrechterhaltung der Windows XP Professional x64 Edition ist nicht erforderlich, wird jedoch dringend empfohlen.
Weitere Informationen finden Sie unter 64-Bit-Programmierung für Spieleentwickler.
2.3 Signieren von Dateien
-
Anforderung
-
Alle ausführbaren Codedateien (in der Regel Dateien mit der Erweiterung .exe oder .dll) müssen mit einem öffentlich gültigen Authenticode-Zertifikat signiert sein und über eine gültige Zeitstempelserver-URL für die Produktionssignatur verfügen.
Wenn Ihr Spiel Windows Installer verwendet, müssen die Installationspaketdateien (.msi-Dateien) signiert sein.
-
Gründe
-
Das Signieren einer Datei hilft Benutzern bei der Entscheidung, ob sie einer Anwendung vertrauen, und stellt sicher, dass Dateien nicht manipuliert wurden. Außerdem können Anwendungen in gesperrten Umgebungen ordnungsgemäß ausgeführt werden.
-
Zusätzliche Informationen
-
Weitere Informationen finden Sie unter Authenticode Signing for Game Developers (Authenticode-Signierung für Spieleentwickler).
Wenn Ihr Spiel Windows Installer verwendet, empfiehlt es sich, das Patchen von UAC/LUA zu aktivieren, indem Sie eine MsiPatchCertificate-Tabelle verwenden. Weitere Informationen finden Sie unter Patchen von Benutzerkontensteuerung (User Account Control, UAC).
Es wird nicht empfohlen, .cab-Dateien zu signieren, es sei denn, sie sind relativ klein (weniger als 100 MB).
2.4 Signieren von Treibern
-
Anforderung
-
Jeder Kernelmodustreiber, der vom Spiel installiert wird, muss mit einem öffentlich gültigen Authenticode-Zertifikat signiert werden.
Jeder Hardwaregerätetreiber im Kernelmodus, der vom Spiel installiert wird, muss über eine Microsoft-Signatur verfügen, die aus den Windows Hardware Quality Labs (WHQL) oder dem DrS-Programm (Driver Reliability Signature) erhalten werden kann.
-
Gründe
-
Schlecht geschriebene Treiber oder Schadsoftwaretreiber können die Stabilität und Sicherheit eines Systems erheblich beeinträchtigen. In 64-Bit-Editionen von Windows Vista und Windows 7 werden nicht signierte Treiber nicht geladen. Diese Richtlinie kann auch für 32-Bit-Editionen von Windows Vista und Windows 7 aktiviert werden.
-
Zusätzliche Informationen
-
Sowohl native 32-Bit- als auch 64-Bit-Versionen aller Kernelmodustreiber werden pro Anforderung 2.2 benötigt.
Weitere Informationen zu Microsoft-Treibersignaturprogrammen finden Sie im Windows-Entwicklerportal.
2.5 Durchführen der richtigen Versionsprüfung
-
Anforderung
-
Spiele dürfen nicht auf zukünftigen Betriebssystemen ausgeführt werden, wie durch Änderungen an der Windows-Versionsnummer angegeben, es sei denn, der Endbenutzer-Lizenzvertrag untersagt die Verwendung auf zukünftigen Betriebssystemen. Wenn das Spiel fehlschlagen soll, muss es dies ordnungsgemäß tun, indem dem Benutzer eine entsprechende Meldung angezeigt wird.
Wenn Windows Versionsprüfung durchgeführt wird, müssen die APIs zur Versionsüberprüfung (GetVersionEx oder VerifyVersionInfo) verwendet werden, um die Betriebssystemversion zu überprüfen. Registrierungsschlüssel dürfen nicht gelesen werden, um die Version zu bestimmen.
Explizite Versionsprüfungen für die DirectX-Runtime dürfen nicht im Spiel vorhanden sein. Diese Versionsüberprüfungen dürfen nicht in der Installation vorhanden sein, die das DirectX-Laufzeitsetup (DirectSetup) startet.
-
Gründe
-
Wenn Windows Betriebssystem aktualisieren, sollten sie nicht daran blockiert werden, aktuelle Spiele zu spielen, einfach weil Windows Versionsnummer erhöht wurde. Schlecht geschriebene Versionsüberprüfungen verursachen weiterhin Probleme mit Software, die andernfalls in neueren Versionen von Windows oder einfach mit dem Zusatz eines service packs Windows funktioniert.
Die Vergleichslogik für die Vergleichslogik der Schwachversionsprüfung für die DirectX-Runtime hat zahlreiche fehlerhafte Installationen erstellt, wenn sie in verschiedenen Versionen von Windows. Die DirectX-Versionsnummer gilt nur für die Kernkomponenten des Betriebssystems. Sie gilt nicht für die komponentenseitigen DirectX SDK-Komponenten, die von vielen Spielen verwendet werden.
-
Zusätzliche Informationen
-
Es ist üblich, zu sehen, dass Installationsprogramme eine Mindestversion des Betriebssystems überprüfen. Diese Überprüfung muss jedoch mit Vorsicht durchgeführt werden, um sicherzustellen, dass sie auf mehr als oder gleich testet und nicht auf einfache Gleichheit, wodurch eine bestimmte Version des Betriebssystems gesperrt wird. Die Application Verifier HighVersionLie von Application Verifier ist eine schnelle und einfache Möglichkeit, um zu bestimmen, wie Ihr Installationsprogramm auf eine erhebliche Änderung der Betriebssystemversionsnummer reagiert.
Bei der ordnungsgemäßen Verwendung des DirectX-Laufzeitverteilungspakets (DirectX-Setup) wird es immer während der Installation gestartet, vorzugsweise im automatischen Modus. Dadurch kann der von Microsoft bereitgestellte Code alle erforderlichen Versionsupdates ausführen. Sie ermöglicht auch die Installation optionaler, nebeneinander verfügbarer DirectX SDK-Komponenten wie D3DX, XACT, MDX oder XInput.
Bewährte Methoden für die Bereitstellung der DirectX-Runtime finden Sie unter DirectX-Installation für Spieleentwickler.
Es wird empfohlen, dass Spiele, die Windows XP unterstützen, nach einer Service Pack-Ebene von 2 oder höher prüfen, da Service Pack 2 (SP2) und Service Pack 3 (SP3) erhebliche Sicherheitsverbesserungen, eine vereinfachte DirectX Runtime Redistribution-Anforderung und eine äußerst umfassende Bereitstellung bieten. Die meisten modernen Microsoft-Technologien, die Windows XP unterstützen, erfordern SP2 oder SP3 (XAudio2, Games for Windows – LIVE und so weiter).
2.6 Unterstützung gleichzeitiger Benutzersitzungen
-
Anforderung
-
Spiele, die auf 3D-Grafiken basieren, sind nicht erforderlich, um über eine Remotedesktopverbindung zu arbeiten, aber der Benutzer muss benachrichtigt werden, wenn das Spiel ausfällt.
Spiele müssen standardmäßige Windows multitasking-Szenarien unterstützen, indem sie die folgenden Regeln einhalten:
- Spiele dürfen die Verwendung von gleichzeitigen Benutzersitzungen nicht blockieren.
- Ein Spiel muss in einer neuen Benutzersitzung ausgeführt werden, wenn es bereits in einer anderen Sitzung ausgeführt wird.
- Spielsound in einer Benutzersitzung darf nicht gehört werden, wenn ein anderer Benutzer in einer anderen Sitzung aktiv ist.
- Spiele müssen schnelle Benutzerwechsel unterstützen.
- Spiele dürfen nicht versuchen, den Standard-Aufgabenwechsel zu deaktivieren. Spiele dürfen die Tastenkombination ALT+TAB nicht deaktivieren. Spiele dürfen Tastenkombinationen für die Barrierefreiheit deaktivieren, wie unter Deaktivieren von Tastenkombinationen in Games beschrieben.
-
Gründe
-
Windows Benutzer sollten gleichzeitige Sitzungen ohne Konflikte oder Unterbrechungen ausführen können. Dies ist ein häufiges Szenario für einen Windows, der von einer Familie, Mitinsassen oder anderen gemeinsam genutzt wird.
-
Zusätzliche Informationen
-
Um zu testen, ob das Spiel in einer Remotesitzung gestartet wird, rufen Sie GetSystemMetrics(SM _ REMOTESESSION) auf. Ein Wert ungleich 0 (null) gibt an, dass die Sitzung remote ist.
Weitere Informationen finden Sie unter Schneller Benutzerwechsel. Beachten Sie, dass ein schneller Benutzerwechsel erfolgt, wenn Die Zeiteinschränkungen der Elternsteuerung aktiviert sind, wenn die Zeit des Benutzers aktiv ist. Weitere Informationen finden Sie unter Anforderung 1.2.
2.7 Unterstützung für lange Namen
-
Anforderung
-
Wenn ein Spiel das Speichern von Dateien unterstützt, muss es in der Lage sein, Dateien mit langen Namen und Pfaden zu speichern. Das Spiel muss spezielle Dateisystemzeichen ordnungsgemäß verarbeiten, z. B. \ / : * ? " < > in allen Benutzereingabefeldern, die zum Erstellen von Dateinamen oder Pfaden verwendet werden.
Spiele müssen ordnungsgemäß funktionieren, wenn ein Benutzer über einen langen Benutzernamen verfügt.
-
Gründe
-
Player sind daran gewohnt, lange Namen auf tiefen Pfaden zu verwenden, die vom zugrunde liegenden Betriebssystem unterstützt werden.
-
Zusätzliche Informationen
-
Lange Namen werden als namen definiert, die die maximalen Werte enthalten, die im Windows WERDEN.
Installation
Zusammenfassung der Sicherheits- und Kompatibilitätsanforderungen
Kundenvorteile
Kunden können sicher sein, dass Anwendungen auf Windows installiert werden, ohne das Betriebssystem oder andere Anwendungen zu herabsetzen, wenn Anwendungen offizielle Verteilungsmethoden für Systemkomponenten verwenden. Eine optimierte Installationserfahrung bietet eine zugänglichere und problemlosere Vor-/Aus-Erfahrung für Spiele.
3.1 Unterstützung der einfachen Installation
-
Anforderung
-
Spiele müssen einen vereinfachten Pfad in der Setup-Benutzeroberfläche bereitstellen, indem Folgendes implementiert wird:
- Maximal eine EuLA-Eingabeaufforderung anzeigen.
- Der Standardinstallationspfad muss alle Auswahlen für die Installation (z. B. Installationsordner oder Komponentenauswahl) umgehen, die Standardauswahl annehmen und das Spiel oder Startfeld nach erfolgreicher Installation ohne zusätzliche Eingabeaufforderungen ausführen. Bei Wunsch kann eine benutzerdefinierte Installationsoption für erweiterte Konfigurationsoptionen bereitgestellt werden.
- Installieren Sie alle erforderlichen Betriebssystemkomponenten (z. B. DirectX- und Visual C-Runtimes) mithilfe der richtigen Microsoft-Neuverteilungspakete. Die Installation sollte ohne Aufforderung und ohne Schutz durch Komponentenversionsüberprüfungen im Hintergrund ausgeführt werden.
- Stellen Sie das Entfernen über Programme und Features in Systemsteuerung sowohl für die Spieleanwendung als auch für generierte Arbeitsdateien zur Verfügung. Eine Option zum Löschen von Datendateien, die vom Benutzer erstellt werden, wird empfohlen. Der Entfernungsprozess muss sicherstellen, dass alle installierten Dateien entfernt und alle Einstellungen (z. B. Einträge in der Firewallausnahmeliste und Registrierungsschlüssel) gelöscht werden. Neu verteilte Betriebssystemkomponenten dürfen nicht entfernt werden.
- Wenn für das Spiel Ausnahmen zur Windows Firewall hinzugefügt werden müssen, kann der Setupprozess benutzeraufforderungsaufforderungen, dass diese Änderung erforderlich ist. Diese Aufforderung sollte angezeigt werden, bevor die Installation beginnt.
Installation und Entfernung können Administratorrechte erfordern. Für das Patchen kann je nach Aktualisierungshäufigkeit eine Aufforderung zur Eingabe von Administratoranmeldeinformationen erforderlich sein. Die normale Wiedergabe des Spiels darf keine Administratorrechte erfordern, wie in Anforderung 2.1 unter Befolgen der Richtlinien zur Benutzerkontensteuerung festgelegt.
-
Gründe
-
Die einfache Installation ist eine Windows-zentrierte Spielentwicklungsgedanke, die entwickelt wurde, um den manchmal mühsamen und verwirrenden Prozess der Installation von Spielen auf Computern zu vereinfachen und zu optimieren, auf denen Windows ausgeführt werden. Die einfache Installation wird durch die Verwendung einer Reihe von Technologien und bewährten Methoden ermöglicht, die die unnötige Komplexität und das wahrgenommene Risiko der Installation von Spielen auf Windows reduzieren.
Die wichtigsten Ziele sind:
- Reduzieren Sie die Zeit, um in das Spiel zu kommen und mit dem Spielen zu beginnen.
- Reduzieren Sie die Anzahl der Dialogfelder und Optionen auf sehr wenige oder keine, um die Spielinstallation zu vereinfachen.
Einige herkömmliche Installationen verfügen über Eingabeaufforderungen, die nicht funktionsfähige Installationen zulassen, obwohl die Anwendung scheinbar erfolgreich installiert wurde. Beispielsweise kann ein Spiel erfordern, dass ein Benutzer einen EuLA akzeptiert. Das Spiel wird dann installiert, und dann wird der DirectX-EULA angezeigt. Mit diesem EuLA können Benutzer die Installation der DirectX-Runtime ablehnen und somit überspringen. Dieses Szenario kann zu einem Spiel führen, das aufgrund fehlender Komponenten nicht ausgeführt werden kann.
-
Zusätzliche Informationen
-
Weitere Informationen zur Spieleinstallation, zu nicht herkömmlichen Spielinstallationstechniken, zu UAC-kompatiblen Patchlösungen und zur Behandlung häufiger Patches finden Sie in den folgenden DirectX-Artikeln:
- Vereinfachen der Spieleinstallation
- Install-on-Demand für Spiele
- Patchen von Spielsoftware in Windows XP, Windows Vista und Windows 7
- Bewährte Methoden für die Installation von Massively Multiplayer Online Games
Hinweis
Das Entfernen von benutzerspezifischen generierten Datendateien sollte nur für den aktuellen Benutzer und für gemeinsame freigegebene Benutzerstandorte ausgeführt werden. Es gibt keine stabile Möglichkeit, das System zu überprüfen, um benutzerspezifische Dateien für andere Benutzer zu entfernen, auch wenn das Entfernen Administratoranmeldeinformationen erfordert.
3.2 Unterstützung der Benutzerkontensteuerung für die Installation
-
Anforderung
-
Der Spieleinstaller darf nicht davon ausgehen, dass er im gleichen Kontext wie der Benutzer ausgeführt wird. Benutzerspezifische Speicherorte unterscheiden sich aufgrund der Erhöhung der Administratoranmeldeinformationen vom Installationsprogramm und Player auch für Einzelbenutzersysteme. Wenn ein Spiel zum ersten Mal ausgeführt wird, muss es daher benutzerspezifische Aufgaben unabhängig vom Installationsprozess ausführen.
Das Windows Firewallausnahmedialogfeld darf nicht angezeigt werden, wenn ein Benutzer ein Multiplayerspiel hostet oder beitritt. Alle erforderlichen Konfigurationen müssen zum Zeitpunkt der Installation erfolgen. Die Setupanweisungen sollten den Benutzer darüber informieren, dass dieser Vorgang im Rahmen des Setups erfolgt.
Das Spieleinstallationsprogramm muss ein eingebettetes Manifest bereitstellen, das die erforderliche Ausführungsebene gemäß Anforderung 2.1 gemäß den Richtlinien zur Benutzerkontensteuerung bestimmt.
Wenn das Spiel nach Abschluss der Installation vom Installationsprogramm gestartet wird, muss es im Kontext des ursprünglichen Benutzers gestartet werden.
-
Gründe
-
Eine der größten Änderungen am Windows-Betriebssystem in Windows Vista ist die Ergänzung der Benutzerkontensteuerung (User Account Control, UAC), mit der Anwendungen standardmäßig mit reduzierten Berechtigungen ausgeführt werden. Daher müssen Installationsprogramme Berechtigungsebenen entsprechend verwalten. Windows 7 wird auch die UAC umfassend verwendet. Während Windows 7 die Benutzerfreundlichkeit von UAC verbessert, müssen Installationsprogramme weiterhin die gleichen Anforderungen wie unter Windows Vista erfüllen, um ordnungsgemäß zu funktionieren, ohne sich auf potenziell verwirrendes Virtualisierungsverhalten verlassen zu müssen.
Die UAC ist in Windows Vista und Windows 7 standardmäßig aktiv, und die große Mehrheit der Kunden (88 % oder mehr, basierend auf Feedback) lässt dieses Feature aktiviert.
-
Zusätzliche Informationen
-
Weitere Informationen zum Konfigurieren der Windows Firewall finden Sie im DirectX-Artikel Windows Firewall für Spieleentwickler und im Beispiel FirewallInstallHelper.
Der Standardstart des Spiels am Ende des Installationsprozesses erfüllt nicht den letzten Aspekt dieser Anforderung, wenn die Installation von einem Standardbenutzer gestartet wird und der Setupprozess Administratorrechte erfordert (d. h. zur Eingabe von Administratoranmeldeinformationen aufgefordert wird). Außerdem werden Administratorrechte geerbt, was ein potenzielles Sicherheitsrisiko darstellen kann. Stattdessen sollte ein Setup-Bootstrapladeprogramm das Spiel starten, nachdem es nach einem erfolgreichen Aufruf des Installationsprogramms zurückgekehrt wurde. Weitere Informationen finden Sie im MSDN Magazine-Artikel Teach Your Apps to Play Nicely with Windows Vista User Account Control.
3.3 Installieren in korrekten Ordnern
-
Anforderung
-
Spiele, die für alle Benutzer installiert werden, müssen standardmäßig im Ordner Programme installiert werden. Benutzerdaten müssen geschrieben werden, wenn das Spiel zum ersten Mal ausgeführt wird, nicht während der Installation.
-
Gründe
-
Benutzer sollten die Flexibilität haben, Anwendungen dort zu installieren, wo sie sie benötigen. Außerdem sollten sie über eine konsistente und sichere Umgebung mit dem Standardspeicherort von Dateien verfügen.
-
Zusätzliche Informationen
-
Spiele können die verschiedenen bekannten Ordnerspeicherorte (z. B. die von CSIDL LOCAL APPDATA und _ _ CSIDL _ COMMON APPDATA angegebenen) verwenden, um erhebliche Mengen von Spieldaten und unterstützende ausführbare Dateien zu speichern, um erweiterte Installations- und Patchszenarien zu _ implementieren.
Da für die Installation während des Installationsvorgangs für alle Benutzer eine Rechteerweiterung auf ein anderes Benutzerkonto erforderlich sein kann, gibt es keinen richtigen Benutzerspeicherort, an dem Daten zur Installationszeit gespeichert werden. Wenn die Dateiverschlüsselung aktiviert ist, kann nur über das Benutzerkonto, das sie erstellt hat, auf verschlüsselte Dateien zugegriffen werden.
3.4 Ordnungsgemäßes Installieren Windows Ressourcen
-
Anforderung
-
Anwendungen dürfen nicht versuchen, Dateien oder Registrierungsschlüssel zu installieren, die durch Windows Resource Protection (WRP) geschützt sind. Wenn die Anwendung neuere Versionen von Systemkomponenten erfordert, muss sie diese Komponenten mithilfe eines Microsoft Service Packs oder eines von Microsoft genehmigten Installationspakets aktualisieren, das die Systemkomponente enthält. Systemkomponenten dürfen nie neu gepackt werden.
-
Gründe
-
Windows Resource Protection (WRP) wurde entwickelt, um sicherzustellen, dass geschützte Systemressourcen nur mithilfe von von Microsoft genehmigter Installations- oder Updatemechanismen aktualisiert werden. WRP verbessert die Systemzuverlässigkeit, indem sichergestellt wird, dass die Ergebnisse einer Installation vorhersagbar sind.
-
Zusätzliche Informationen
-
WRP ist der Nachfolger von Windows File Protection, der den Großteil der Systemkomponenten schützt, die im Ordner Windows sind. WRP schützt die meisten Registrierungsschlüssel, die Einstellungen für die Erstellung von COM-Objekten speichern. Außerdem werden bestimmte Ordner für die ausschließliche Verwendung durch das Betriebssystem reserviert. Versuche, auf geschützte Ressourcen zu zugreifen, führen in der Regel zu einem Zugriffsverweigerungsfehler.
Weitere Informationen zu bewährten Methoden, wenn die DirectX-Runtime mit einem Spiel bereitgestellt wird, finden Sie im DirectX-Artikel DirectX-Installation für Spieleentwickler.
3.5 Vermeiden von Neustarts während der Installation
-
Anforderung
-
Das Spielinstallationsprogramm sollte nicht davon ausgehen, dass die Installation von Windows Komponenten aus Weiterverteilungspaketen einen Neustart erfordert, es sei denn, der Neustart wird durch ein Rückgabeergebnis oder die Microsoft-Dokumentation angegeben.
Wenn das Spielinstallationsprogramm immer einen Neustart erzwingt, muss dies von Microsoft genehmigt werden.
Dialogfelder mit verwendeten Dateien, die in Windows Installer-Paketen enthalten sind, müssen eine Option zum automatischen Schließen von Anwendungen und zum Versuch enthalten, sie nach Abschluss des Setups neu zu starten.
-
Gründe
-
Der Neustart des Systems nach einer Installation ist für Benutzer eine unpraktisch und in der Regel unnötig.
-
Zusätzliche Informationen
-
Weitere Informationen finden Sie unter Using Windows Installer with Restart Manager.
3.6 Richtiges Verwenden der Dateiversionsierung
-
Anforderung
-
Das Spielinstallationsprogramm muss ordnungsgemäß überprüfen, um sicherzustellen, dass die neuesten Dateiversionen installiert sind. Die Installation eines Spiels darf niemals Dateien zurückstellen, die Sie nicht erstellen oder die von Anwendungen gemeinsam genutzt werden, die Sie nicht erstellen.
-
Gründe
-
Freigegebene Komponenten und Systemkomponenten werden häufig aktualisiert, um Sicherheitsfixes und erweiterte Funktionen zu erhalten. Eine Installation, die eine ältere Version der aktualisierten Komponenten enthält, sollte nicht zu einem Verlust von Updates und Fehlerbehebungen führen, die bereits angewendet wurden.
3.7 Unterstützung von bedingten [ Autorun-Anforderungen]
-
Anforderung
-
Bei Spielen, die auf CD, DVD oder anderen Wechselmedien verteilt werden, die Autorun unterstützen, muss die Anwendung beim erstmaligen Einfügen des Datenträgers automatisch ausgeführt werden oder den Benutzer auffordern, das Spiel zu installieren, es sei denn, der Benutzer hat das Autorun-Feature deaktiviert.
Nachdem die Anwendung erfolgreich installiert wurde, darf das erneute Einfügen des Datenträgers auf dem Laufwerk nicht dazu führen, dass die Installation automatisch erneut gestartet wird. Es ist akzeptabel, Benutzer zu fragen, ob sie ihre Installationsoptionen aktualisieren oder ändern möchten.
Die Autorunanwendung darf nicht zur Erhöhung der Rechte auffordern (d. h. sie muss gemäß Anforderung 2.1 über asInvoker im Manifest verfügen, obwohl sie das Setupprogramm oder ein anderes Hilfsprogramm starten kann, das Administratorrechte erfordert. Erhöhte Rechte sollten nur auftreten, wenn das Spiel nicht installiert ist oder der Benutzer es ausdrücklich auswählt.
-
Gründe
-
Autorun vereinfacht die Verwendung von medienverteilten Anwendungen, wie z. B. Spielen, bei denen die Platte in der Regel im Laufwerk vorhanden sein muss, um das Spiel zu spielen.
-
Zusätzliche Informationen
-
Es ist nicht akzeptabel, dass der Benutzer im Datei-Explorer navigiert, um die Installation über die CD oder DVD zu starten.
Bei Spielen, die auf mehreren Datenträgern verteilt sind, sollten nachfolgende Datenträger idealerweise entweder das Autorun-Feature verwenden oder die Installation fortsetzen, ohne den Benutzer aufzufordern, eine Taste zu drücken oder andere Maßnahmen zu ergreifen.
Stellen Sie beim Erstellen eines Autorun-Programms sicher, dass alle erforderlichen Komponenten auf neu installierten Windows vorhanden sind. Typische Anwendungen basieren auf Technologien, die vom Setup installiert werden. Autorun selbst wird jedoch ausgeführt, bevor ein solches Setup durchgeführt wird. Ein häufiges Beispiel ist der Fehler von Autorun-Programmen, da die Visual C-Runtime-DLLs nicht im Rahmen des Windows-Setups enthalten waren. Das Autorun-Programm muss daher die lokale CRT-Bereitstellung der Anwendung verwenden oder die CRT statisch verknüpfen.
Autorun-Programme, die zur Verwendung in Versionen von Windows vor Windows Vista geschrieben wurden, sollten die .NET-Runtime nicht verwenden, da diese Technologie nicht in Windows XP oder älteren Versionen von Windows enthalten ist. Windows Server 2003 und Windows Vista sind die ersten Versionen von Windows, die .NET-Runtime als Teil ihres Betriebssystems enthalten.
Aus ähnlichen Gründen können Autorun-Programme das Vorhandensein von optionalen parallelen DirectX SDK-Komponenten wie D3DX9, D3DX10, D3DX11, XAudio2, X3DAudio, XACT, XINPUT und MDX 1.1 nicht erfordern.
Ein Beispiel für die Verwendung von Autorun finden Sie unter AutoRun Sample.
Zuverlässigkeit
Zusammenfassung der Sicherheits- und Kompatibilitätsanforderungen
Kundenvorteile
Diese Anforderungen machen eine Anwendung zuverlässiger, indem sie die Anzahl von Abstürzen, Hängen und Neustarts minimiert. Mithilfe der Zuverlässigkeitsanforderungen kann sichergestellt werden, dass Software besser vorhersagbar, wartbar, resilient und wiederherstellbar ist.
4.1 Vermeiden unnötiger Neustarts
-
Anforderung
-
Alle Anwendungsinstallationsprogramme müssen die Neustart-Manager-APIs nutzen, um Systemneustarts zu vermeiden (siehe Anforderung 3.5).
Spiele dürfen das Herunterfahren nicht blockieren.
Alle Anwendungen müssen auf den Neustart-Manager reagieren, indem sie die folgenden Meldungen zum Herunterfahren überwachen und darauf reagieren:
-
WM _ QUERYENDSESSION mit LPARAM = ENDSESSION _ CLOSEAPP (0x1)
-
GUI-Anwendungen müssen sofort (TRUE) reagieren, um einen Neustart vorzubereiten.
-
WM _ ENDSESSION mit LPARAM = ENDSESSION _ CLOSEAPP (0x1)
-
Anwendungen müssen innerhalb von 5 Sekunden einen Wert von 0 zurückgeben und dann schließen.
-
STRG+C
-
Konsolenanwendungen, die diese Meldung empfangen, müssen sofort geschlossen werden.
-
-
Gründe
-
Systemneustarts stellen eine große Unterbrechung dar. Sie führen zu einer schlechten Benutzererfahrung und sollten minimiert werden. Einige Vorgänge, z. B. kritische Systemupdates, können Neustarts erfordern. Durch lauschen auf Meldungen zum Herunterfahren können das Spiel und andere Anwendungen sofort auf Anforderungen des Neustart-Managers reagieren. Auf diese Weise können sie unnötige Verzögerungen bei gültigen Neustartanforderungen vermeiden.
-
Zusätzliche Informationen
-
Wenn ein Spielinstallationsprogramm die Windows Installer-Technologie (MSI) ohne benutzerdefinierte Aktionen verwendet, wird diese Funktionalität automatisch bereitgestellt. Microsoft-Weiterverteilungspakete unterstützen auch den Neustart-Manager.
Weitere Informationen zum Neustart-Manager finden Sie im MSDN-Artikel Informationen zum Neustart-Manager.
4.2 Beseitigen von Application Verifier Fehlern
-
Anforderung
-
Das Spiel darf in den folgenden Tests keine Fehler generieren, die unter Microsoft Application Verifier (AppVerifier), Version 4.0 oder höher, ausgeführt werden:
- Grundlagen: Handles, Heaps, Sperren, Arbeitsspeicher, TLS
- Sonstiges: DangerousAPIs, DirtyStacks
-
Gründe
-
AppVerifier testet auf viele bekannte Probleme, die abstürzen und in Windows Anwendungen hängen bleiben, sowie auf bekannte Sicherheitsrisiken.
-
Zusätzliche Informationen
-
Weitere Informationen zu Application Verifier finden Sie unter Application Verifier und Using Application Verifier Within Your Software Development Lifecycle (Verwenden von Application Verifier in Ihrem Softwareentwicklungslebenszyklus) auf MSDN. Sie können Application Verifier unter Downloaddetails herunterladen: Application Verifier im Microsoft Download Center herunterladen.
Diese Anforderung gilt nicht für reine verwaltete Anwendungen ohne native Interop.
Diese Tests sollten in einem Releasebuild ausgeführt werden. Beim Debuggen von Builds können falsche Fehler generiert werden. Einige Anti-Anti-Cheat-Technologien können die Ausführung von AppVerifier beeinträchtigen. Daher sollten diese Tests ohne aktivierte Anti-Anti-Cheat-Technologien durchgeführt werden.
Es kann erforderlich sein, die Full-Eigenschaft des Basics:Heaps-Tests auf FALSE festzulegen, da die vollständige PageHeap die Arbeitsspeicherauslastung der ausgeführten Anwendung erheblich erhöht. Fehler werden weiterhin erkannt, aber sie können schwieriger nachverfolgt werden, wenn Sie nur teilweise PageHeap verwenden.
Wenn Sie die UAC-/LUA-bezogenen Tests in Application Verifier verwenden, um die Anforderungen an die Benutzerkontensteuerung 2.1 und 3.2 zu erfüllen, sollten Sie die Ergebnisse mithilfe der Standardbenutzeranalyse überprüfen. Es gibt auch zahlreiche weitere nützliche Tests, die von Application Verifier bereitgestellt werden, die Sie unbedingt in der Entwicklung und bei Tests verwenden sollten, um ein hohes Maß an Kompatibilität mit aktuellen und zukünftigen Versionen von Windows sicherzustellen. Der HighVersionLie-Test wird verwendet, um die Konformität mit Anforderung 2.5 zu überprüfen.
Visual Studio Team System enthält eine Teilmenge der AppVerifier-Funktionalität, die in die Debugumgebung integriert ist. Dies kann sich als nützlich erweisen, um Probleme mit Den Grundlagen nachzuverfolgen und zu beheben: Heaps, Handles und Sperrentests.
4.3 Unterstützung Windows-Fehlerberichterstattung und Dateiversionsinformationen
-
Anforderung
-
Um die Unterstützung von Windows-Fehlerberichterstattung zu ermöglichen, müssen Spiele die folgenden Anforderungen erfüllen:
- Spiele dürfen nur Ausnahmen behandeln, die bekannt und erwartet sind. Windows-Fehlerberichterstattung darf nicht deaktiviert werden. Wenn ein Fehler wie eine Zugriffsverletzung in einem Spiel auftritt, muss es Windows-Fehlerberichterstattung ermöglichen, den Absturz zu melden.
- Alle ausführbaren Dateien (z. B. .exe Dateien oder DLLs) müssen einen genauen Produktnamen, Einen Firmennamen und eine Dateiversion enthalten.
- Das normale Beenden des Spiels darf nicht zu einem unbekannten Ausnahmefehler führen.
-
Gründe
-
Die Windows-Fehlerberichterstattung-APIs geben Microsoft wichtiges Feedback, um weit verbreitete Abstürze und Hängen in Anwendungen zu erkennen. Dadurch können Microsoft und seine Partner System- und Treiberprobleme, die zu Anwendungsfehlern führen, schnell erkennen und beheben.
-
Zusätzliche Informationen
-
Spiele können benutzerdefinierte Ausnahmehandler ohne Behandlung enthalten, um benutzerdefinierte Unterstützungs- und Berichtsfunktionen auszuführen. Sie müssen jedoch jeden Fehler an die Funktionen ReportFault oder WerReportSubmit übergeben.
Die richtigen Informationen zur Dateiversion können überprüft werden, indem Sie die Dateieigenschaften auf der Windows Desktopbenutzeroberfläche anzeigen und die Eigenschaftenseite Version überprüfen.
Weitere Informationen zu den Windows-Fehlerberichterstattung-APIs und zur Analyse der Absturzabbilder, die bei Verwendung dieses Diensts generiert werden, finden Sie im DirectX-Artikel Absturzabbildanalyse.
Xbox 360 Common Controller für Windows Terminologie
| Name | BESCHREIBUNG |
|---|---|
| Ein | Die Schaltfläche A. |
| B | Die B-Schaltfläche. |
| Zurück | Die Schaltfläche Zurück. |
| (rechts/links) Bumper | Die Schaltfläche am oberen rechten und linken Rand des Controllers. Entspricht einer Schaltfläche für die Schaltfläche "Shoulder". |
| Direktionales Pad | Das direktionale Pad des Controllers. |
| D-Pad | Akzeptierte Abkürzung des direktionalen Pads. |
| DP | Direktionale Padabkürzung und Controllerbezeichnung. |
| RB, LB | Abkürzungen und Controllerbezeichnungen von rechts und links. |
| RS, LS | Abkürzungen für rechte und linke Striche und Controllerbezeichnungen. |
| RT, LT | Rechte und linke Triggerabkürzungen und Controllerbezeichnungen. |
| RSB, LSB | Abkürzungen für rechte und linke Striche und Controllerbezeichnungen. |
| START | Die Schaltfläche "Start". |
| (rechts/links) stick | Der Controller-Stick. Ehemals Thumbstick. |
| Stick-Schaltfläche (rechts/links) | Die Controller-Stick-Schaltfläche. Ehemals Thumbstick-Schaltfläche. |
| Trigger (rechts/links) | Der Controllertrigger. |
| Vibration | Vom Controller-Motor erzeugtes Feedback. Verwenden Sie nicht Rumble. |
| X | Die X-Schaltfläche. |
| J | Die Y-Schaltfläche. |
| Xbox 360 Controller für Windows | Das Xbox 360 Gamepad, das als PC-Hardware-SKU verkauft wurde, einschließlich einer Windows Gerätetreiber-DATENTRÄGER. |
| Xbox 360 Wireless Controller für Windows | Das Xbox 360 als PC-Hardware-SKU verkaufte drahtlose Gamepad, einschließlich einer Windows Gerätetreiber- Disc. |
Richtlinien für Spiele-Middlewareprodukte
Einführung
Damit Sich Spiele für das Games for Windows-Programm qualifizieren können, müssen sie eine Liste mit technischen Anforderungen erfüllen. Alle Drittanbieterkomponenten, die mit einem Titel ausgeliefert werden (ausführbare Dateien, DLLs, Treiber usw.), müssen auch diese Anforderungen erfüllen, damit das Spiel qualifiziert werden kann. In diesem Dokument werden die gängigsten Anforderungen hervorgehoben, die auch von den Komponenten von Drittanbietern erfüllt werden müssen, damit das Spiel die Konformitätstests bestehen kann. Installer und vollständige Spiele-Engine-/Produktionspakete sollten das vollständige Dokument games for Windows technical requirements (Spiele für Windows technische Anforderungen) lesen, da viele dieser Anforderungen von diesen Tools betroffen sind.
Zusätzliche Empfehlungen
Neben der Sicherstellung, dass Ihre Komponente die Erstellung von Titeln unterstützt, die den Anforderungen für Games for Windows entsprechen, müssen Sie beim Entwerfen und Bereitstellen einer Bibliothek oder eines Unterstützungshilfsprogramms für ein Windows Spiel eine Reihe weiterer Aspekte berücksichtigen.
Um Entwickler zu unterstützen, die an nativen 64-Bit-x64-Anwendungen arbeiten, stellen Sie sowohl native 32-Bit- als auch 64-Bit-Versionen Ihrer Bibliotheken bereit. Die 32-Bit-Version muss pro 2.2 64-Bit-kompatibel sein. Bibliotheken für 32-Bit-Anwendungen sollten nicht davon ausgehen, dass das hohe Bit einer 32-Bit-Adresse nicht verwendet wird, um die Verwendung in LARGEADDRESSAWARE x86-Anwendungen zu unterstützen.
Wenn Sie native Codeheader (C/C++) bereitstellen, verwenden Sie die SAL-Attributsyntax (Standard Annotation Language), um Ihre öffentlichen API-Routinen zu versehen. Dadurch können Benutzer Ihrer Bibliothek den maximalen Vorteil der Verwendung von Static Code Analysis (/analyze) nutzen, das Teil Visual Studio Team System 2005, Visual Studio Team System 2008, Visual Studio 2010 Premium und Visual Studio 2010 Ultimate ist, sowie die öffentlich verfügbaren Windows SDK-Compilertools.
Wenn Ihr Produkt Threads innerhalb des Prozesses des Benutzers erstellt, müssen Sie jeden Thread benennen, damit debuggende Tools ausgeführte Threads ordnungsgemäß kommentieren können.
Wenn Sie Routinen schreiben, die innerhalb der Hauptschleife eines Spiels aufgerufen werden sollen, verwenden Sie die D3DX-Routinen D3DPERF _ BeginEvent/EndEvent und D3DPERF _ SetMarker, um vorgänge auf hoher Ebene mit Anmerkungen zu versehen, um Engpässe mit pix für Windows leichter zu erkennen.
Hinweis
Für die Grafikdiagnosefunktionen Visual Studio 2012 werden diese D3DX- und PIX-Routinen durch die ID3DUserDefinedAnnotation-Schnittstelle ersetzt.
Stellen Sie für Netzwerkbibliotheken IP-neutrale Implementierungen bereit, und vermeiden Sie veraltete IPv4-Routinen, um die IPv6- und Teredo-Technologien in Windows XP mit Service Pack 2, Windows Vista und Windows 7 zu unterstützen.
Spieledienstanbieter sollten sich mit Version 2 des GDF-Schemas bei Games Explorer registrieren und das RSS-Feature nutzen, um dienstbezogene Nachrichten bereitzustellen.
Spiele für Windows Showcases
Einführung
Spiele für Windows Zeigen gehen über die Bereitstellung einer soliden Spielerfahrung auf Windows PCs hinaus. Durch die Implementierung dieser Features können Spiele die Benutzerfreundlichkeit auf den neuesten Windows Plattformen weiter verbessern.
Spiele für Windows Titel müssen alle in diesem Artikel aufgeführten technischen Anforderungen erfüllen, aber Showcasefeatures sind optional. Diese Titel können einige, keine oder alle dieser Showcases implementieren.
S.1 Exploit Direct3D 11
-
Anforderung
-
Direct3D 11 ist die Rendering-API der nächsten Generation für Windows Vista und Windows 7. Spiele, die Direct3D 11 nutzen, verwenden optimierte Inhalte, erweiterte Renderingtechniken und neue Hardwarefeatures, um eine überzeugende Erfahrung auf Hardware zu schaffen, die 10, 10.1 und 11 unterstützt.
Wenn das Spiel auch Direct3D 9 implementiert, sollte ein paralleler Vergleich eine erkennbare Verbesserung der Inhaltsqualität, visueller Genauigkeit, Leistung, Szenenkomplexität und anderer Grafikgenauigkeitsbereiche für Direct3D 11 veranschaulichen. Diese Unterstützung unterliegt den technischen Anforderungen von Games for Windows 1.7.
Direct3D 10level9-Technologie kann verwendet werden, um Shadermodell 2.0/3.0 Direct3D 9-Videohardware auf Windows Vista und Windows 7 zu unterstützen, anstatt eine direkte Direct3D 9-Implementierung für umfassende Hardwareunterstützung zu verwenden. Dies reicht jedoch nicht aus, um dieses Showcase zu veranschaulichen.
Auf Computern, auf denen Windows Vista oder Windows 7 mit installiertem Direct3D 11 ausgeführt wird, sollte das Spiel standardmäßig Direct3D 11 verwenden.
-
Gründe
-
Die Direct3D 11-API baut auf dem Windows Display Driver Model (WDDM) und der Direct3D 10.1-Infrastruktur auf, um neue Funktionen zu unterstützen: Hardware-Mosaik, Compute-Shader, Multithreadring und Ressourcenerstellung, neue Texturkomprimierungsformate und eine flexiblere Shadersprache. Direct3D 11 bietet einheitliche Hardwareunterstützung für moderne Grafikkarten, einschließlich der Direct3D 11-Teile der neuesten Generation, aller Direct3D 10- und 10.1-Grafikkarten sowie vieler Shader Model 2.0/3.0 Direct3D 9-Grafikkarten, die die minimale Videohardware darstellt, die für den 3D-Desktop von "Einheit 3D" erforderlich ist.
-
Zusätzliche Informationen
-
Die Migration einer Direct3D 9-Rendering-Engine zur Verwendung der neuen Direct3D 11-Schnittstelle ist eine klar definierte Aufgabe:
- Entfernen Sie alle Vorgänge mit fester Funktion zugunsten von programmierbaren Shadern.
- Aktualisieren Sie alle vorhandenen Shader auf die neue Syntax des Shadermodells 4.x/5.
- Aktualisieren Sie die Ressourcenverwaltung, um das neue Ansichtsmodell zu unterstützen.
- Konvertieren Sie alle Ressourcen, um eine neue Liste der verfügbaren Formate zu verwenden.
- Aktualisieren Sie die Renderzustandsbehandlung, um unveränderliche Zustandsblöcke zu verwenden, und überarbeiten Sie Shaderkonstanten in Konstantenpuffer.
Diese Konvertierung ist wichtig, um das Direct3D 11-Showcase zu aktivieren, obwohl das Ergebnis nicht die Showcase-Anforderung der Nutzung der neuen API erfüllt.
Die neue API und das zugehörige HLSL-Programmiermodell bieten viele Möglichkeiten für verbesserte Inhalte:
- Nutzen vorhandener Direct3D 10-Hardwarefeatures wie Geometry Shader, Stream Out, Texturarrays und die komprimierten BC4/BC5-Texturformate.
- Nutzen vorhandener Direct3D 10.1-Hardwarefeatures, z.B. unabhängige Blendmodi pro Renderziel, MSAA-Tiefenlesemodus, MSAA-Zugriff pro Beispiel-Shader, Cubezuordnungsarrays und Rendering in blockkomprimierten Formaten (BLOCK-Compressed, BC).
- Implementieren erweiterter GPU-Algorithmen mithilfe von Compute-Shader mit CS4.x auf vorhandenen Direct3D 10/10.1-Grafikkarten (aktiviert durch aktualisierte Videotreiber) oder CS 5.0 auf Direct3D 11-Grafikkarten der nächsten Generation.
- Rendern in mehreren Threads mithilfe der Erstellung von Freethreadressourcen und mehreren Gerätekontexten zur Verbesserung der Leistung auf Multi-Core-Systemen (mit aktualisierten Videotreibern). Weitere Informationen finden Sie unter Games for Windows Showcase S.3.
- Unter Verwendung neuer Features der Videohardware der Direct3D 11-Klasse, z. B. Hardware-Mosaik mit Hüllen- und Domänen-Shadern, Shadermodell 5.0 HLSL-Shaderhardware mit komprimierten Texturformaten BC6HBC7 und dynamischer Shaderverknüpfung.
Techniken, die mit Direct3D 9 (größtenteils durch hohe CPU-Kosten) implementiert werden können, können effizient auf die GPU geladen werden, wodurch CPU-Ressourcen zur Unterstützung anderer Spielanforderungen freigegeben werden.
Direct3D 11-APIs, unterstützende Tools und Beispiele sind im DirectX SDK verfügbar. Siehe auch Grafik-APIs in Windows.
S.2 Exploit x64 Native
-
Anforderung
-
Das Spiel enthält eine native 64-Bit-Ausführbare Datei, die eine überzeugende neue Benutzeroberfläche bietet, die von x64-Editionen von Windows auf x64-fähiger Hardware ausgeführt wird. Ein paralleler Vergleich mit der 32-Bit-Version des Spiels sollte eine erkennbare Verbesserung der Komplexität der Inhalte, kürzere Ladezeiten und leistung zeigen.
Bei 64-Bit-Editionen von Windows sollte bei der Installation immer die native 64-Bit-Version des Spiels als Standard für Tastenkombinationen in Games Explorer und Windows XP Professional x64 Edition eingerichtet werden. Wenn eine duale Installation gewünscht wird, kann eine zusätzliche Wiedergabeaufgabe für Games Explorer auf Windows Vista und Windows 7 angegeben werden, die auf die 32-Bit-Version verweist. Der Standardwert sollte jedoch die native 64-Bit-Version bleiben.
Beachten Sie, dass das Spiel die 64-Bit-Editionen von Windows Vista und Windows 7 unterstützen sollte, um diese Präsentationsempfehlung zu erfüllen. Die Unterstützung für Windows XP Professional x64 Edition wird empfohlen, ist jedoch nicht erforderlich.
-
Gründe
-
Die x64-Technologie bietet 64-Bit-Adressierungsfunktionen sowohl für den Consumer- als auch für den Servermarkt, die eine 32-Bit-Vollgeschwindigkeits-Abwärtsadressierung für vorhandene Anwendungen umfassen. x64 ist ein wichtiger Bestandteil der Roadmap für AMD (AMD64) und Intel (EMT64) und unterstützt mit Ausnahme von ultra-mobilen CPUs die Technologie für alle aktuellen und zukünftigen Prozessoren.
Windows XP Professional x64 Edition war das erste consumerorientierte Windows Betriebssystem(OS), das x64-Technologie unterstützt, und Windows Vista und Windows 7 erweitern die Verfügbarkeit der Betriebssystem-Aktivierung für 64-Bit-Consumercomputing erheblich. Bei standardmäßig 2 GB RAM auf vielen neuen Computern profitieren weitere Verbesserungen der Speicherskalierung nicht von einzelnen 32-Bit-Anwendungen, die nicht mehr als 2 GB physischen RAM adressieren können. Viele Spiele stehen heute vor Herausforderungen, alle verfügbaren Inhalte in die Einschränkungen von 2 GB des virtuellen Adressraums zu integrieren, insbesondere in Kombination mit den großen Videospeichern, die auf High-End-GPUs verfügbar sind, und der Wechsel zur x64-Technologie erhöht die unterstützungsfähigen Detailebenen erheblich.
Die x64-Kompatibilität für 32-Bit-Spiele ist eine Games for Windows technische Anforderung (2.2), aber die Nutzung der neuen Technologien erfordert eine native 64-Bit-Implementierung.
-
Zusätzliche Informationen
-
Der Hauptvorteil der 64-Bit-Adressierung ist die Möglichkeit, direkt auf mehr als 2 GB physischen und virtuellen Arbeitsspeicher zuzugreifen. Der große Adressraum des virtuellen Arbeitsspeichers ermöglicht eine umfangreiche Verwendung von speicherabbildten E/A-Auslastungen, ohne dass Probleme mit der Auslastung des VM-Adressraums in der 32-Bit-Programmierung auftreten. Spiele können den neuen Speicherplatz nutzen, um die Ladezeiten erheblich zu verbessern oder in einigen Fällen Pausen beim Laden von Inhalten zu vermeiden.
Vorhandene 32-Bit-Anwendungen können von x64-Editionen profitieren, indem sie adressen mit vollständigen 32-Bit-Daten verarbeiten können, wenn sie mit der Linkeroption Große Adressen aktivieren (/LARGEADDRESSAWARE) erstellt werden. Bei 32-Bit-Versionen von Windows XP ermöglichten spezielle Startmodi, dass solche Anwendungen bis zu 3 GB RAM adressieren konnten, und x64-Editionen bieten Zugriff auf bis zu 4 GB RAM für LAA-Apps (Large Address Aware). Obwohl die Verwendung von LAA in einer 32-Bit-Anwendung diese Vorzeigeanforderung nicht erfüllt, ist diese Bridge-Technologie eine äußerst nützliche Möglichkeit, zusätzliche Skalierungsvorteile für x64-Versionen von Windows für diejenigen bereitzustellen, die diese Showanforderung nicht vollständig implementieren.
Weitere Informationen finden Sie unter 64-Bit-Programmierung für Spieleentwickler und RAM, VRAM und mehr RAM: 64-Bit-Gaming ist hier in Gamasutra.
Hinweis
Eine wichtige Herausforderung für diese Präsentation besteht darin, sicherzustellen, dass alle Bibliotheken oder Komponenten von Drittanbietern, auf denen Ihr Spiel basiert, für die native 64-Bit-Entwicklung verfügbar sind. Viele ältere Microsoft-APIs wurden auch aus der nativen 64-Bit-Umgebung entfernt, was eine Herausforderung für Engine-Codebasen mit älteren Implementierungen von Schlüsselsystemen darstellen kann.
S.3 Exploit Many-Core Prozessoren
-
Anforderung
-
Das Spiel implementiert Features, die multicore-Prozessoren nutzen, die auf 3, 4 oder mehr Kerne skaliert werden, sofern verfügbar.
Wenn das Spiel Einzelprozessor- oder Dual-Core-Systeme unterstützt, sollte ein paralleler Vergleich mit einem Quad-Core-System wahrnehmbare neue Features, zusätzliche überzeugende Effekte, eine Verbesserung der Inhaltsqualität und/oder eine verbesserte Leistung veranschaulichen.
Da die Dual-Core-Skalierung bereits umfassend von Spielen unterstützt und automatisch von verschiedenen Direct3D-Treibererweiterungen genutzt wird, reicht die Dual-Core-Skalierung nicht aus, um dieses Showbeispiel zu veranschaulichen.
-
Gründe
-
Das kontinuierliche Leistungswachstum für CPUs hat sich von der Verbesserung der Taktfrequenz auf die Hinzufügung von Computekernen umgestellt. Amd- und Intel-Roadmaps basieren auf skalierbaren Designs mit mehreren Kernen. Aufgrund dieser grundlegenden Änderung bei der Entwicklung von Prozessoren verfügen alle Spieleplattformen der nächsten Generation über CPUs mit mehreren Kernen. Singlethreadanwendungen erzielen keine signifikanten Vorteile mehr von CPUs der nächsten Generation. Einfaches Multithreading kann ebenfalls nicht skaliert werden, da die Anzahl der häufig verwendeten CPU-Kerne auf drei oder mehr steigt.
-
Zusätzliche Informationen
-
Beachten Sie, dass die Kernanzahl keine Potenz von zwei sein muss. Daher sollten Spiele linear skaliert werden und die Kernanzahl von 3, 4, 5, 6, 7, 8 usw. verarbeiten.
Die Skalierung durch Erhöhen der Anzahl von Threads in einer Anwendung liefert nur dann eine Rendite, wenn die Kosten für Kommunikation und Threadsynchronisierung in Check gehalten werden. Die featurebasierte Skalierung kann sich auf kurze Sicht als einfachere Lösung erweisen, sodass das Spiel normal ohne die zusätzlichen Threads auf Einzelkernsystemen betrieben werden kann und sie aktiviert wird, wenn die zusätzliche CPU-Leistung verfügbar ist.
Weitere Informationen finden Sie unter Coding For Multiple Cores on Xbox 360 and Microsoft Windows and Lockless Programming Considerations for Xbox 360 and Microsoft Windows in den DirectX-Artikeln sowie im DXUTLockFreePipe-Hilfsprogramm und im CoreDetection-Beispiel.
Die Verwendung der Direct3D 11-Freithread-Ressourcenerstellung und der Gerätekontexte ist nützlich, um die Skalierbarkeit von Grafikressourcen mit vielen Kernen zu erreichen. Weitere Informationen finden Sie unter Spiele für Windows Showcase S.1.
Beachten Sie, dass die direkte Verwendung der CPU-Anweisung rdtsc anstelle von Windows-APIs zum Berechnen der Zeitsteuerung auf Multi-Core-Systemen zu Problemen bei einigen Hardware- und Betriebssystemkonfigurationen führen kann. Weitere Informationen finden Sie in den DirectX-Artikeln unter Game Timing and Multicore Processors (Spielzeitsteuerung und Multicore-Prozessoren).
S.4 Support Games for Windows – LIVE (S.4 Support Games für Windows – LIVE)
Spiele für Windows: LIVE wird von Microsoft nicht mehr unterstützt.
S.5 Support Windows Touch
-
Anforderung
-
Windows Touch-fähige Spiele können mit Toucheingaben und/oder Gesten auf Computern, auf denen Windows 7 ausgeführt wird, mit einer Touchanzeige wiedergegeben werden. Tastatureingaben können ebenfalls verwendet werden, aber die primäre Wiedergabeschnittstelle muss touchbasiert sein.
Die Aktivierung der Toucheingabe sollte die Verwendung der Maus oder des allgemeinen Controllers gemäß der technischen Anforderung 1.4 nicht verhindern.
Es wird nicht erwartet, dass das Installationsprogramm des Spiels Windows Touchfunktionen unterstützt.
-
Gründe
-
Multitouch-fähige Displays für Computer sind für Laptops und Desktops verfügbar und stellen ein wichtiges Hardwarefeature dar, das mit der Veröffentlichung von Windows 7 heraufgestuft wird. Windows 7 unterstützt Windows Touch in den Desktop- und allgemeinen Steuerelementschnittstellen.
-
Zusätzliche Informationen
-
Native Codeanwendungen können über die WM _ TOUCH-Nachrichten in Kombination mit der RegisterTouchWindow-Funktion auf Multitouch zugreifen. Siehe auch die Manipulations- und Trägheits-API.
Windows Presentation Foundation (WPF) 4.0 bietet eine verwaltete Lösung für Multitouchschnittstellen.
Weitere Informationen finden Sie im Windows Touch SDK.
S.6-Unterstützung für hohe Farbe
-
Anforderung
-
Spiele, die Hohe Farbe unterstützen, verwenden 10:10:10:2 (DXGI _ FORMAT _ R10G10B10A2, D3DFMT _ A2B10G10R10) oder ein 16:16:16:16-Format (DXGI _ FORMAT _ R16G16B16A16, D3DFMT _ A16B16G16R16) für den Rendering-Hintergrundpuffer und den Vollbildanzeigemodus.
Mithilfe eines Renderziels mit hoher Farbe können High-Dynamic-Inhalt (HDR) mit einem erweiterten oder breiten Gamut gerendert werden, wenn eine Tonzuordnung zu einem 10-Bit- oder 16-Bit-Bereich durchgeführt wird.
-
Gründe
-
Monitore können seit vielen Jahren mehr als 256 Farbebenen pro Kanal anzeigen, auch wenn CRT-Anzeigen weit verbreitet waren. Die Überprüfung der Hardware auf Grafikkarten war der einschränkende Faktor. Moderne GPUs, einschließlich der meisten Direct3D 9-Klassen-Hardware und aller Direct3D-Hardware der 10- und höher-Klasse, verfügen über Scan-Out-Hardware, die mindestens 10 Bits pro Kanal kann, und die Hardwarefunktion wird in Zukunft auf 16 Bits pro Farbkanal anwachsen. HD TV-Verbindungssysteme (CSV, DisplayPort) wurden auch für die Verarbeitung von mehr als 8 Bits pro Kanal entwickelt, und analoge VGA wird solche Signale bereits übertragen.
-
Zusätzliche Informationen
-
Beachten Sie, dass "Hohe Farbe" oder "Hohe Farbe" sich in der Vergangenheit auf das Verschieben von 256 (8-Bit)-Farbanzeigen in 15- oder 16-Bit-Farbanzeigen bezieht. Die meisten Anzeigesysteme haben sich seit langem auf True Color (Echte Farbe) verschoben, die 24-Bit-Farbe ist, oder 8 Bits pro Farbkanal für Rot, Grün und Blau. Unter Hohe Farbe bedeutet dies eine neue Generation von Anzeigesystemen, die mit mehr als 8 Bit pro einzelnem Farbkanal arbeiten können. Wird auch als Tiefe Farbe bezeichnet.
Empfohlene bewährte Methoden
Einführung
Zusätzlich zur Erfüllung der technischen Anforderungen und zur Einführung eines oder mehrerer Showcases in Ihrem Titel gibt es eine Reihe von bewährten Methoden, die für alle Windows Spiele befolgt werden sollten. Diese Empfehlungen fallen zwar nicht in den Bereich der grundlegenden technischen Anforderungen, aber Es wird dringend empfohlen, sie für alle Spiele für Windows Titel zu verwenden.
Zusätzliche Empfehlungen
- Verwenden Sie die neueste Visual Studio Compiler und Runtime. Neuere Versionen des Compilers implementieren erhebliche Verbesserungen für die Qualität des generierten Codes und für Sicherheitsprobleme und verwenden moderne Strategien zur Prozessoroptimierung. Das Aktualisieren des Compilers und die Verwendung der neuesten C-Runtime ist eine einfache Möglichkeit, zu modernen Codierungsmethoden zu migrieren.
- Verwenden Sie anstelle der statischen Verknüpfung die DLL-Version (Dynamic Link Library) der C-Runtime, und verwenden Sie Secure CRT. (Ausnahmen können in speziellen Fällen vor der Installation vorgenommen werden, z. B. für ein Autorun-Programm oder für das Installationsprogramm selbst.)
- Verwenden Sie für Spielaudio XAudio2, X3DAudio und/oder XACT anstelle von DirectSound. Verwenden Sie directSound für Windows XP (nur) und WASAPI für Windows Vista und Windows 7 für Audio-Engines, die alle Kombinations- und Quellratenkonvertierungen durchführen und nur eine Lösung mit geringer Latenz für die Audioausgabe benötigen.
- Vermeiden Sie die Verwendung veralteter und veralteter APIs: DirectDraw, DirectSound, DirectPlay, Die Leistungsschicht von Direct Voice, DirectPlay Voice und Der Direct3D-Modus wird beibehalten. Beachten Sie, dass DirectPlay Voice und der beibehaltene Direct3D-Modus auf Windows Vista oder Windows 7 überhaupt nicht verfügbar sind. Die Leistungsebene von DirectPlay und DirectPlay ist für native x64-Anwendungen nicht verfügbar.
- Optimieren sie mithilfe von SSE/SSE2 SIMD-Anweisungssätzen. Sehen Sie sich die DirectXMath-API im Windows SDK als plattformübergreifende Lösung für SIMD-optimierte mathematische Operationen an.
- Verwenden Sie moderne bewährte Methoden für Windows Sicherheit (einschließlich Compiler- und Linkeroptionen wie "/NXCOMPAT", "/GS", "/SAFESEH", "/DYNAMICBASE", "/SDL" usw.). Weitere Informationen finden Sie unter Bewährte Sicherheitsmethoden in der Spieleentwicklung.
- Verwenden Sie die neuesten Windows SDK-Komponenten und -Bibliotheken. Entfernen Sie Abhängigkeiten von den legacy bereitgestellten DirectSetup-Out-of-Band-Komponenten wie D3DX9, D3DX10 und D3DX11. Erwägen Sie die Verwendung von DirectXTex oder DirectXTK oder beidem.
- Vermeiden Sie die Verwendung des älteren HLSL-Compilers, und verwenden Sie stattdessen den modernen HLSL-Compiler. Wenn ihre Anwendung Unterstützung für Pixel Shader 1.x benötigt, verwenden Sie anstelle von HLSL die Shaderassembly, oder beschränken Sie die Verwendung des älteren Compilers auf diese Szenarien.
Ressourcen
| Begriff | BESCHREIBUNG |
|---|---|
| Spiele für Windows: Testfälle |
Bewährte Methoden für Spiele auf Windows XP, Windows Vista und Windows 7 |
| Windows SDK |
Windows Sdks |
| Richtlinien für die Benutzerkontensteuerung |
Windows Anforderungen an die Vista-Anwendungsentwicklung für die Kompatibilität der Benutzerkontensteuerung |
| WinQual-Entwicklerportal |
Windows Quality Online Services (Winqual) |
| DirectX-Entwicklerportal |
Directx Developer Center |
| Blog zu Games for Windows und DirectX SDK |
Spiele für Windows und das DirectX SDK |
| Zusätzliche DirectX-Artikel |
Technische Artikel zu DirectX |