Freigeben über


Technische Anforderungen an Spiele für Windows: Bewährte Methoden für Spiele unter Windows XP, Windows Vista, Windows 7 und Windows 8

Dieser Artikel enthält technische Anforderungen und bewährte Methoden für Spiele, die unter Windows ausgeführt werden. Wir haben diese technischen Anforderungen und bewährten Methoden in erster Linie für Windows Vista und Windows 7 sowie das Legacybetriebssystem Windows XP geschrieben. Diese bewährten Methoden gelten im Allgemeinen auch für Win32-Desktopspiele auf Windows 8.

Dieser Artikel enthält die folgenden Abschnitte:

Unterschiede für 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 Spiele-Explorers ist nicht sichtbar

Alle Spiele, die Sie beim Spiele-Explorer registrieren, werden als Kacheln auf der neuen Windows-Benutzeroberfläche angezeigt, aber ein Großteil der Metadaten, die dem Titel zugeordnet sind, sind nicht mehr sichtbar. Sie verwenden weiterhin das Games 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 weiterhin Ihre Games Explorer-Registrierung mithilfe von Windows 7, und vergewissern Sie sich, dass die neue Windows UI-Kachel 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 mit den Game Explorer-APIs ist weiterhin der Mechanismus zum Registrieren Ihres Spiels bei der Windows-Kindersicherung

Es wird empfohlen, die Windows SDK-Version von GDFMAKER auf der veröffentlichten Version von Windows 8 auszuführen, um sicherzustellen, dass sie alle derzeit unterstützten Bewertungssysteme auffüllen kann.

Hinweis

Diese Version von GDFMAKER erfordert .NET 4.0.

Siehe 1.2 Unterstützung der Sicherheit der Familie/ Der Kindersicherung.

Es gibt jetzt drei Optionen für die Verwendung der XINPUT-API, abhängig von 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 Umverteilungspaket mit XINPUT 9.1.0. Alle Versionen von Windows können auch die vorhandene DirectX SDK-Version XINPUT 1.3 verwenden, die directSetup für die Bereitstellung erfordert.

Weitere Informationen finden Sie unter 1.4 Support the Xbox 360 Common Controller for Windows.

Nur eine begrenzte Gruppe von Win32-Desktop-Apps wird auf Windows RT

Spiele, die unter Windows 7 ausgeführt werden, können und sollten auf Windows 8 x86- und x64-Plattformen ordnungsgemäß ausgeführt werden.

Siehe 2.2 Unterstützung von Windows x64-Versionen.

Stellen Sie sicher, dass alle Betriebssystemüberprüfungen ordnungsgemäß ausgeführt werden.

Die Windows 8 Betriebssystemversion ist 6.2 . Windows 8 besteht die aktuellen Mindestbalkentests, die wir für die Spielebereitstellung empfehlen.

Das DirectX End-User Redistribution-Paket wird wie unter Windows 7 erfolgreich auf Windows 8 ausgeführt, um D3DX9, D3DX10, D3DX11, XINPUT 1.3, XAUDIO 2.7, XACTGine usw. bereitzustellen.

Aufgrund der Bereitstellungsbehandlung der Legacy-Assemblys für verwaltete DirectX 1.1-Assemblys besteht jedoch ein bekanntes Problem mit DirectSetup auf Systemen, auf denen nur .NET 4.0 installiert ist. Dieses Problem gilt sowohl für Windows 8, die standardmäßig mit .NET 4.5 enthalten ist, als auch für neue Windows XP-Computer mit installierter .NET 4.0-Runtime. Dieses Problem gilt jedoch nicht für eine .NET-Version vor .NET 4.0. Obwohl Windows 8 ein Anwendungskompatibilitätsverhalten aufweist, um dieses Problem automatisch zu beheben (was Netzwerkzugriff erfordert), wird empfohlen, dass Spiele, die weiterhin das DirectSetup-Update im DirectX SDK (Juni 2010) bereitstellen, die aktualisierte Version der REDIST-Dateien aktualisieren. Wenn Sie DirectSetup für Ihren Titel verwenden, kürzen Sie Ihren Titel wie immer auf den mindestens erforderlichen Satz von CABs.

Weitere Informationen finden Sie unter 3.4 Ordnungsgemäß installieren von Windows-Ressourcen.

Spiele, die die .NET 2.0-kompatible Runtime (2.0, 3.0, 3.5) erfordern, 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 legacyverwalteten DirectX 1.1-Assemblys sind nicht mit der .NET 4.x-Runtime kompatibel.

Weitere Informationen finden Sie unter 3.4 Ordnungsgemäß installieren von Windows-Ressourcen.

Die Verwendung eines Autorunners oder einer anderen Vorabinstallationstechnologie, die auf .NET basiert, wird nicht empfohlen.

Sie können davon ausgehen, dass nur mit .NET 2.0 kompatible Runtimes (2.0, 3.0, 3.5) unter 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 Anwendungsüberprüfung für Windows 8

Das Windows 8 SDK enthält diesen aktualisierten Application Verifier.

Siehe 4.2 Beseitigen von Anwendungsüberprüfungsfehlern.

Zusätzliche Informationen

Windows 8 und Windows Server 2012 Kompatibilitätskochbuch
Wo finde ich das DirectX SDK?

Spiele für Windows

Zusammenfassung der Spielanforderungen

Kundenvorteile

Computerspiele sind ein wichtiges Unterhaltungserlebnis unter Windows, aber Bedenken hinsichtlich der Benutzerfreundlichkeit haben im Laufe der Jahre zu Frustration bei den Kunden geführt. Normalerweise werden Spiele wie Anwendungen installiert, aber sie werden eher wie Unterhaltungsmedien (z. B. Filme oder Lieder) verwendet. Innovationen wie der Games Explorer machen Spiele konsistent verfügbar, die sich von Standardanwendungen unterscheiden. Diese Innovationen verleihen Spielen zusammen mit Musik und Bildern auch erstklassigen Bürgerstatus in Windows. Die folgenden Anforderungen tragen dazu bei, sicherzustellen, 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 Games Explorer-Integration

Anforderung

Das Spiel muss im Games Explorer (dem Ordner Spiele ) unter 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-Erfahrungsindexbewertungen, Bewertungen (falls zutreffend) und zugehörige Hyperlinks.

Wenn das Spiel digital über einen Online-Spieledienst verteilt wird, sollte der Dienstanbieter auch im Games Explorer angezeigt werden. Um eine ordnungsgemäße Handhabung des Anbieters zu gewährleisten und die Verwendung von RSS-Feeds zu ermöglichen, sollte Version 2 des Schemas für Spieldefinitionsdateien (GAME Definition Files, GDFs) verwendet werden. (Weitere Informationen zu GDFs finden Sie unter Zusätzliche Informationen.)

Darüber hinaus müssen Spieleinstaller die folgenden Regeln beachten, wenn sie unter Windows Vista und Windows 7 ausgeführt werden:

  • Die Installation darf keine Verknüpfung zum Starten des Spiels auf dem Desktop, im Startmenü oder an einem anderen Speicherort erstellen.
  • Aufgaben und Tastenkombinationen zum Entfernen dürfen nicht erstellt werden.
  • Benutzer müssen in der Lage sein, das Spiel mithilfe von Programmen und Features in Systemsteuerung unter Windows Vista und Windows 7 oder Software in Systemsteuerung unter Windows XP zu entfernen.

Unter Windows XP und früheren Versionen von Windows kann der Spieleinstaller nach Bedarf Programmgruppen, Desktopsymbole oder Tastenkombinationen erstellen.

Gründe

Windows-Spiele-Explorer ähnelt im Konzept den Windows XP-Ordnern "Eigene Dokumente" oder "Eigene Bilder". Die Idee besteht darin, ähnliche Inhalte an einem Ort zu zentralisieren und einfachere Organisation und kontextabhängige Aktivitäten zu ermöglichen. Der Spiele-Explorer erweitert das Konzept "Eigene Dokumente" oder "Meine Bilder ", indem er eine umfassendere Organisation und Kontrolle über Spiele ermöglicht. 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 Spiele-Herausgeber wichtige Spielinformationen effektiver kommunizieren. Das System ist datengesteuert und erleichtert es einem Spieleherausgeber, Spielinformationen über die Lebensdauer des Produkts zu aktualisieren.

Zusätzliche Informationen

Die Integration in Den Games Explorer erfordert, dass Sie eine Spieldefinitionsdatei (GDF) erstellen, bei der es sich um eine XML-Textdatei handelt, die in eine Binärdatei (eine ausführbare Datei oder eine DLL) als Ressource eingebettet ist, zusammen mit einem Windows-Symbol. Das Spiel muss dann im Games Explorer registriert werden. Die GDF ermöglicht auch die Offenlegung von bereitgestellten Informationen wie Spieltitel, Herausgeber, Entwickler, Links zu Websites und optionalen Aufgaben. Beachten Sie, dass Supportaufgaben nur Links zu Websites sein können, play tasks können jedoch auch für optionale Supportaufgaben verwendet werden.

Der Spiele-Explorer kann ein Miniaturbild für eine Bitmap verwenden, es wird jedoch empfohlen, stattdessen eine Windows-Symbolressource mit großen Symbolen bereitzustellen (256 256). Die Symbolressource sollte Bildgrößen von 256, 256 48 48, 32 32 und 16 16 in 24-Bit-Farbtiefe (True Color) und 8 Bit (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 enthalten ist. Ein weiteres Beispiel, GameUxInstallHelper, bietet Routinen für die Integration der erforderlichen Funktionalität in vorhandene Installationssysteme. Der Game Definition File Validator (gdftrace.exe) bietet Debugunterstützung für die Auswertung einer GDF. Weitere Informationen finden Sie unter "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 Legacyunterstü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. Die Verwendung einer GDF-Datei der Version 2 wird empfohlen, um die Unterstützung für RSS-Feeds, Spielstatistiken und Updatebenachrichtigungen zu aktivieren. Weitere Informationen finden Sie in den Beispielen ProviderGDFExampleBinary und GameStatisticsExample.

Unter Windows Vista Business Edition, Windows 7 Professional Edition und Enterprise Edition von Windows Vista und Windows 7 ist der Link Spiele im Startmenü ausgeblendet. Der Spiele-Explorer ist weiterhin im Startmenü verfügbar, indem Sie auf Alle Programme und dann auf Spiele klicken.

Für zugehörige Anwendungen, die mit Ihrem Spiel, aber nicht selbst installiert sind, können Sie Startmenüprogrammgruppen, Tastenkombinationen und Desktopsymbole auf allen Versionen von Windows erstellen, einschließlich Windows Vista und Windows 7. Solche zugehörigen Anwendungen sollten die geltenden Anforderungen an Spiele für Windows erfüllen; weitere Informationen finden Sie unter Richtlinien für Spielemiddlewareprodukte. Spieledienste werden empfohlen, sich bei Games Explorer als Spieleanbieter für Windows 7 zu registrieren. 1

1.2 Unterstützung von Family Safety / Kindersicherungen

Anforderung

Spiele müssen Windows Family Safety vollständig unterstützen, indem sie die folgenden Regeln einhalten:

  • Spiele dürfen nicht erfordern, dass der Benutzer über Administratoranmeldeinformationen verfügt, um zu spielen. Für die Installation, das Patchen und Entfernen können administratorrechtliche Anmeldeinformationen erforderlich sein, vorbehaltlich der Anforderungen in Abschnitt 3. (In diesem Zusammenhang ist die Anforderung 2.1, Folgen Sie den Richtlinien für die Benutzerkontensteuerung.)
  • Spiele, die von Windows-unterstützten Bewertungsboards wie ESRB und PEGI bewertet werden, müssen die ihnen zugewiesenen Bewertungsinformationen in ihrer Spieldefinitionsdatei (GDF) enthalten. 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 Antipiraterietechnologie, 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, sofern verfügbar, und beenden, wenn *pfHasAccess als FALSE zurückgegeben wird.

Gründe

Alle Spiele müssen im Kontext eines Standardbenutzerkontos ausgeführt werden, damit Konten, die von Der Windows-Kindersicherung gesteuert werden, das Spiel spielen können. Eltern möchten, dass sie den Zugriff ihrer Kinder auf Spiele überwachen und steuern können. Darüber hinaus wünschen sich zahlreiche Industrie-, Regierungs- und Interessenvertretungen bessere Möglichkeiten, eltern die Spiele zu überwachen und zu kontrollieren, denen ihre Kinder ausgesetzt sind. In Verbindung mit der Architektur, die von Games Explorer angeboten wird, bietet Microsoft Eltern diese Möglichkeit über die Windows-Kindersicherung.

Selbst für Spiele, die nicht an einem Bewertungsboard-Programm teilnehmen, führt die Anforderung erhöhter Berechtigungen zu einer schlechten Spielerfahrung für die Mehrheit der Benutzerkonten. Dies ist insbesondere der Fall, wenn die Kindersicherung aktiviert ist, sodass das Übergeordnete bei jedem Start des Spiels das Administratorkennwort eingeben muss.

Mit dem Windows-Jugendschutzsystem können Eltern die Bewertungen auswählen, die ihrer Meinung nach für ihre Kinder geeignet sind. Die Kindersicherung unterstützt viele der weltweiten Bewertungssysteme. Die Kindersicherung ermöglicht es Eltern auch, den Zugriff auf Spiele basierend auf Inhaltsbeschreibungen einzuschränken (sofern das entsprechende Bewertungssystem dies unterstützt) und den Zugriff auf einzelne Spiele zuzulassen oder zu verbieten.

Die Standardauswahl des Bewertungssystems für die Windows-Kindersicherung basiert auf der Gebietsschemaeinstellung des Systems, kann jedoch vom Benutzer in den Regional- und Sprachoptionen in Systemsteuerung geändert werden. Daher sollte jede unterstützte Sprache alle verfügbaren Bewertungsdaten bereitstellen, sodass der Benutzer die Freiheit hat, eine beliebige Bewertungstafel 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 sind standardmäßig in der Kategorie Nicht bewertet, zeigen den Text "Keine Bewertung bereitgestellt" im Spiele-Explorer an und unterliegen der Einstellung Spieleinschränkungen in der Kindersicherung 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 Finnland (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 "Mild"-Varianteninhaltsdeskriptoren
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)
Windows 8 stellt die Unterstützung für die folgenden jetzt veralteten Systeme ein:
  • PEGI-FI (Finnland)
  • OFLC (Australien)

Hinweis

Alle Titel, die neue ESRB Windows Vista Service Pack 1 (SP1)-Inhaltsdeskriptoren enthalten, werden unter Windows Vista ohne Service Pack als Nicht eingestuft angezeigt.

Neuere Bewertungsdaten werden bei Versionen von Betriebssystemen ohne Unterstützung ignoriert. Die VARIANTE PEGI (Finnland) ist jetzt zugunsten des standardmäßigen PEGI (Europe) Bewertungssystems 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 reich gespeicherten Spielen

[Diese Anforderung wurde eingestellt]

1.4 Unterstützung des allgemeinen Xbox 360-Controllers für Windows [Bedingte Anforderung]

Anforderung

Spiele, die Gamepadcontroller unterstützen, müssen die Xbox 360 Controller für Windows mithilfe der XInput-API unterstützen. Wenn DirectInput-Peripheriegeräte ebenfalls unterstützt werden, kann auch DirectInput verwendet werden. XInput muss jedoch die Standard-API sein, wenn ein Xbox 360-kompatibles Gerät verwendet wird.

Alle Verweise auf gängige Controllertrigger und Schaltflächen müssen die Xbox 360-Namen verwenden. Weitere Informationen finden Sie in der Liste Allgemeiner Controller für Windows für Windows .

Controllerschwingungen müssen ausgeschaltet werden, wenn sich das Spiel in einem angehaltenen oder angehaltenen Zustand befindet.

Maus-/Tastatursteuerung kann nicht jederzeit vollständig deaktiviert werden. Mindestens muss eine Option zum Zurückkehren zu Spielmenüs verfügbar sein.

Gründe

Diese Anforderung gibt spielern die Wahl, entweder den Xbox 360-Controller oder die Tastatur und Maus zu verwenden, je nachdem, welche Eingabemethode natürlicher und intuitiver ist.

Weitere Informationen

Diese Anforderung gilt nicht für Spiele, die nur die Maus und/oder die Tastatur verwenden.

Es wird empfohlen, die Menünavigation zu implementieren, um die allgemein akzeptierten Standardcontrollerschaltflächen zu verwenden:

  • A – Akzeptieren
  • B – Abbrechen
  • Start: Akzeptieren oder Anhalten
  • Zurück: Abbrechen, Sichern eines Bildschirms oder höher einer Menüebene

Weitere Informationen finden Sie unter XInput.

Das Thema XInput und DirectInput behandelt Probleme bei der gleichzeitigen Verwendung beider APIs.

Es wird empfohlen, DirectInput nicht zum Implementieren von Tastatur- oder Maussteuerelementen zu verwenden. Tastatur- und Maussteuerungen sollten nur mithilfe von Windows-Nachrichten und Win32-APIs implementiert werden. Ausführliche Informationen zum Abrufen hochauflösender Mausbewegungen ohne Verwendung von DirectInput finden Sie unter Nutzen von 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 Breitbild (1280 720)
  • 16:10 Breitbild (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 Desktopseitenverhältnis muss als Suchkriterium verwendet werden, wenn das Spiel eine andere Standardauflösung wä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ückgesetzt werden.
  • Das Spiel darf keine Pixel strecken oder ein 4:3-Renderfenster zentrieren, um Breitbildseitenverhältnisse zu unterstützen. Der Briefkasten ist jedoch akzeptabel.

Gründe

Beim Windows 3D-Desktop kann aufgrund der folgenden Faktoren kein bestimmtes Seitenverhältnis oder eine bestimmte Auflösung angenommen werden:

  • Unterstützung für detailreiche Displays.
  • Anstieg des Marktanteils von Breitbildmonitoren.
  • HDTV-Bereitstellungen für Windows Media Center.
  • Barrierefreiheitsanforderungen.

Weitere Informationen

Im Idealfall verwendet das Spiel standardmäßig das native Seitenverhältnis der Anzeige. Die zuverlässige Beschaffung dieser Informationen kann jedoch eine Herausforderung sein, sodass das Spiel als allgemeinere Lösung davon ausgehen kann, dass der Desktop im nativen Seitenverhältnis ausgeführt wird. Die Desktopauflösung kann durch Aufrufen von EnumDisplaySettings mit ENUM_REGISTRY_SETTINGS abgerufen werden.

Weitere Informationen finden Sie in den Abschnitten Seitenverhältnis und Breitbild des DirectX-Artikels Einführung in die 10-Fuß-Benutzeroberfläche für Windows-Spieleentwickler.

1.6 Supportstart über Windows Media Center

[Diese Anforderung wurde eingestellt.]

1.7 Direct3D-Unterstützung

Anforderung

Wenn das Spiel Direct3D verwendet, muss die unterstützte Mindestversion Direct3D 9 sein, und Direct3D muss der ausgewählte Standardrenderer sein.

Gründe

Die Grafikarchitektur für Windows Vista und Windows 7 core ist auf Direct3D ausgelegt. Direct3D 8 und frühere Versionen werden durch neu zuordnen von Legacyschnittstellen unterstützt.

Die Verwendung von Versionen von Direct3D, die neuer als Direct3D 9 sind, wird dringend empfohlen. Siehe Games for Windows Showcase S.1. Das Erfordern von Direct3D 10 oder Direct3D 11 entspricht vollständig der Anforderung 1.7.

1.8 Aktivieren von hohen DPI-Werten

Anforderung

Spiele und ihre Installationsprogramme müssen ohne visuelle Probleme ausgeführt werden, wenn die DPI-Skalierung (Dots-per-Inch) aktiviert ist (getestet mit 144 DPI für eine Skalierung von 150 % bei einer Bildschirmauflösung von 1600 1200) unter Windows Vista und Windows 7.

Dies erfordert in der Regel, dass die ausführbare Spieldatei dpi-fähig deklariert. Dies wird durch Einbetten eines Manifestelements erreicht: <dpiAware>true<dpiAware> .

Gründe

Hochwertige LCD-Monitore sind als Computerdisplays üblich und sehen am besten aus, wenn sie mit ihren nativen Auflösungen (in der Regel 1280 1024, 1600 1200 usw.) angetrieben werden. Kunden, die Probleme beim Lesen von Text und beim Anzeigen von Bildern mit dieser Auflösung haben, stellen häufig ihre Computerdesktops auf eine niedrigere Auflösung fest und leiden unter visuellen Artefakten durch die LCD-Skalierung. Stattdessen können Kunden die Auflösung auf der nativen Größe belassen und den DPI-Wert des Windows-Displays ändern, um die Darstellung von Elementen und Texten zu vergrößern, ohne die Bildqualität zu beeinträchtigen.

Obwohl dieses Feature seit Windows XP in irgendeiner Form verfügbar ist, wird es selten von Kunden oder OEMs aktiviert. Mehr als die Hälfte aller Computerdisplays 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 während der ersteinrichtung und beim Ändern der Anzeigeeinstellungen viel sichtbarer, und ermutigt sie, die DPI-Skalierung zu verwenden, anstatt die Desktopauflösung zu ändern.

Weitere Informationen

Die SetProcessDPIAware-Funktion kann stattdessen verwendet werden, wenn sie frühzeitig im Prozessstartcode aufgerufen wird. Das Hinzufügen zum Manifest wird bevorzugt, um sicherzustellen, dass es keine Racebedingungen mit Softwareelementen (z. B. DLLs) gibt, die möglicherweise initialisiert werden, bevor der Haupteinstiegspunkt aufgerufen wird. Beachten Sie, dass SetProcessDPIAware nur unter 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 dem Projekt dpiware.manifest hinzu. Stellen Sie sicher, dass in den Eigenschaften des Projekts Das Manifest einbetten auf Ja festgelegt ist. Beachten Sie, dass ältere Versionen des Manifesttools (Mt.exe) eine falsche Warnung mit den DPI-fähigen Manifestelementen generieren. Aktualisieren Sie Mt.exe auf die neueste Version aus dem Windows SDK, um dies zu beheben.

Visual Studio 2010 enthält eine Einstellung mit dem Namen DPI-Bewusstsein aktivieren in den Projekteigenschaften, die die Notwendigkeit einer Datei wie dpiaware.manifest entfällt. Suchen Sie nach DPI-Bewusstsein aktivieren, indem Sie Konfigurationseigenschaften und Manifesttool erweitern und dann Eingabeausgabe &auswählen.

Unter Windows ist der herkömmliche Anzeigemodus standardmäßig auf 96 DPI festgelegt, was für CRT-Monitore ü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 die Deklarierung von DPI-fähig 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 helfen sicherzustellen, dass sie mit Windows in verschiedenen Architekturen, unter verschiedenen Konfigurationen und in verschiedenen Modi funktionieren.

2.1 Befolgen Der Richtlinien für die Benutzerkontensteuerung

Anforderung

Jede ausführbare Datei (d. a. jede Datei mit einer .exe-Erweiterung) muss ein eingebettetes Manifest enthalten, das die Ausführungsebene definiert, indem das folgende Tag eingeschlossen wird:

            <requestedExecutionLevel>

Gemäß Anforderung 1.2 müssen das Hauptspiel und die ausführbare Autorun-Datei die Ausführungsebene asInvoker aufweisen, um Standardbenutzerkontexte zu unterstützen.

Benutzerdatendateien, deren Dateizuordnungen bei Explorer registriert sind, müssen in einem Unterordner des Ordners platziert werden, der von CSIDL_PERSONAL angegeben wird (auch als Dokumente oder Eigene Dokumente bezeichnet). Alle anderen Benutzerdatendateien müssen in einem Unterordner der Ordner gespeichert werden, die durch CSIDL_LOCAL_APPDATA oder CSIDL_COMMON_APPDATA angegeben werden. (Diese Verzeichnisse sind standardmäßig für einzelne Benutzer und für alle Benutzer ausgeblendet.)

Gründe

Die Windows-Benutzeroberfläche eines Benutzers ist sicherer, wenn Anwendungen nur mit den erforderlichen Berechtigungen ausgeführt werden.

Zusätzliche Informationen

Wenn nur wenige 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. in ein Installationsprogramm oder ein Konfigurationshilfsprogramm.

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>

In Visual Studio 2005 lässt sich dies einfach einbetten, indem einfach eine Manifestdatei (.manifest) hinzugefügt wird, die einen der vorherigen Blöcke enthält, und sicherstellen, dass Manifest einbetten in den Projekteigenschaften für manifest Tool 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 (Mt.exe) eine falsche Warnung mit den UAC-Manifestelementen generieren. Aktualisieren Sie Mt.exe auf die neueste Version aus dem Windows SDK, um dies zu beheben.

Ausführliche Informationen zu den speziellen Fällen von Installation, Patching und Entfernung finden Sie unter Anforderung 3.1.

Dynamic Link Libraries (DLLs) erfordern solche Manifeste nicht.

Weitere Informationen zur Benutzerkontensteuerung finden Sie unter Benutzerkontensteuerung für Spieleentwickler.

2.2 Unterstützung von Windows x64-Versionen

Anforderung

Um die Kompatibilität mit 64-Bit-Editionen von Windows zu gewährleisten, sollten Spiele die folgenden Anforderungen erfüllen.

  • Titel- und Titelinstallationsprogramme dürfen keinen 16-Bit-Code enthalten oder sich auf eine 16-Bit-Komponente stützen.
  • 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 erkennen und installieren.

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 wichtig, dass Anwendungen mit diesem Betriebssystem kompatibel sind.

Zusätzliche Informationen

Windows unter Windows 64 (WOW64) ermöglicht die Ausführung von 32-Bit-Code unter 64-Bit-Editionen von Windows, sodass es nicht erforderlich ist, dass die Anwendung nativen 64-Bit-Code in 64-Bit-Editionen von Windows sein muss. Sechzehn-Bit-Code wird unter 64-Bit-Editionen von Windows nicht ausgeführt.

Die Kompatibilität mit 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 Sign-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, zu entscheiden, 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 für Spieleentwickler.

Wenn Ihr Spiel Windows Installer verwendet, empfiehlt es sich, das UAC/LUA-Patchen zu aktivieren, indem Sie eine MsiPatchCertificate-Tabelle einschließen. Weitere Informationen finden Sie unter Patchen der Benutzerkontensteuerung (User Account Control, UAC).

Es wird nicht empfohlen, Kabinettdateien (.cab) zu signieren, es sei denn, sie sind relativ klein (weniger als 100 MB).

2.4 Signieren von Treibern

Anforderung

Alle Kernelmodustreiber, die vom Spiel installiert werden, müssen mit einem öffentlich gültigen Authenticode-Zertifikat signiert werden.

Jeder Hardwaretreiber im Kernelmodus, der vom Spiel installiert wird, muss über eine Microsoft-Signatur verfügen, die von den Windows Hardware Quality Labs (WHQL) oder vom DRS-Programm (Driver Reliability Signature) abgerufen werden kann.

Gründe

Schlecht geschriebene oder Schadsoftwaretreiber können die Stabilität und Sicherheit eines Systems stark beeinträchtigen. Bei 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

Gemäß Anforderung 2.2 werden sowohl 32-Bit- als auch 64-Bit-Native Versionen aller Kernelmodustreiber benötigt.

Weitere Informationen zu Microsoft-Treibersignaturprogrammen finden Sie im Windows Hardware Developer-Portal.

2.5 Durchführen der ordnungsgemäßen Versionsprüfung

Anforderung

Spiele dürfen nicht auf zukünftigen Betriebssystemen ausgeführt werden, wie durch Änderungen in der Windows-Versionsnummer angegeben, es sei denn, der Endbenutzer-Lizenzvertrag verbietet die Verwendung auf zukünftigen Betriebssystemen. Wenn das Spiel fehlschlagen soll, muss es dies ordnungsgemäß tun, indem dem Benutzer eine entsprechende Nachricht angezeigt wird.

Wenn Windows-Versionsüberprüfungen durchgeführt werden, müssen die Versionsüberprüfungs-APIs (GetVersionEx oder VerifyVersionInfo) verwendet werden, um die Betriebssystemversion zu überprüfen. Registrierungsschlüssel dürfen nicht gelesen werden, um die Version zu bestimmen.

Explizite Versionsüberprüfungen für die DirectX-Runtime dürfen im Spiel nicht vorhanden sein. Diese Versionsüberprüfungen dürfen nicht in der Installation vorhanden sein, die das DirectX-Runtime-Setup (DirectSetup) startet.

Gründe

Wenn Windows-Benutzer ihr Betriebssystem aktualisieren, sollten sie nicht daran gehindert werden, aktuelle Spiele zu spielen, nur weil die Windows-Versionsnummer gestiegen ist. Schlecht geschriebene Versionsprüfung führt weiterhin zu Problemen für Software, die andernfalls unter neueren Versionen von Windows oder einfach mit dem Hinzufügen eines Windows Service Packs funktioniert.

Die Vergleichslogik für die Fragile Versionsüberprüfung für die DirectX-Runtime hat zahlreiche fehlerhafte Installationen erstellt, wenn sie unter verschiedenen Versionen von Windows ausgeführt wird. Die DirectX-Versionsnummer gilt nur für die Kernkomponenten des Betriebssystems. Sie gilt nicht für die parallelen DirectX SDK-Komponenten, die von vielen Spielen verwendet werden.

Zusätzliche Informationen

Es ist durchaus üblich, dass Installationsprogramme nach einer Mindestversion des Betriebssystems suchen. Diese Überprüfung muss jedoch sorgfältig durchgeführt werden, um sicherzustellen, dass tests auf größer oder gleich, anstatt auf einfache Gleichheit, wodurch eine bestimmte Version des Betriebssystems gesperrt wird. Der HighVersionLie-Test von Application Verifier ist eine schnelle und einfache Möglichkeit, zu bestimmen, wie Ihr Installationsprogramm auf eine signifikante Änderung der Betriebssystemversionsnummer reagiert.

Bei der ordnungsgemäßen Verwendung des DirectX-Laufzeitumverteilungspakets (DirectX-Setup) wird es während der Installation immer gestartet, vorzugsweise im unbeaufsichtigten Modus. Dadurch kann der von Microsoft bereitgestellte Code alle erforderlichen Versionsupdates ausführen. Es ermöglicht auch die Installation aller optionalen parallelen 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, auf eine Service Pack-Stufe von 2 oder höher überprüfen, da Service Pack 2 (SP2) und Service Pack 3 (SP3) erhebliche Sicherheitsverbesserungen, eine vereinfachte DirectX Runtime Redistribution-Anforderung und eine extrem umfassende Bereitstellung bieten. Die meisten modernen Microsoft-Technologien, die Windows XP unterstützen, erfordern SP2 oder SP3 (XAudio2, Spiele für Windows – LIVE usw.).

2.6 Unterstützung gleichzeitiger Benutzersitzungen

Anforderung

Spiele, die auf 3D-Grafiken basieren, müssen nicht über eine Remotedesktopverbindung funktionieren, aber der Benutzer muss benachrichtigt werden, wenn das Spiel fehlschlägt.

Spiele müssen standardmäßige Windows-Multitaskingszenarien unterstützen, indem sie die folgenden Regeln einhalten:

  • Spiele dürfen die Verwendung gleichzeitiger Benutzersitzungen nicht blockieren.
  • Ein Spiel muss in einer neuen Benutzersitzung ausgeführt werden, wenn es bereits in einer anderen Sitzung ausgeführt wird.
  • Der Spielsound in einer Benutzersitzung darf nicht gehört werden, wenn ein anderer Benutzer in einer anderen Sitzung aktiv ist.
  • Spiele müssen den schnellen Benutzerwechsel unterstützen.
  • Spiele dürfen nicht versuchen, den Standardtaskwechsel 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 Spielen beschrieben.

Gründe

Windows-Benutzer sollten in der Lage sein, gleichzeitige Sitzungen ohne Konflikte oder Unterbrechungen auszuführen. Dies ist ein häufiges Szenario für einen Windows-Computer, der von einer Familie, Mitbewohnern oder anderen gemeinsam genutzt wird.

Zusätzliche Informationen

Rufen Sie GetSystemMetrics(SM_REMOTESESSION) auf, um zu testen, ob das Spiel in einer Remotesitzung gestartet wird. Ein Wert ohne Zero gibt an, dass die Sitzung remote ist.

Weitere Informationen finden Sie unter Schneller Benutzerwechsel. Beachten Sie, dass der schnelle Benutzerwechsel auftritt, wenn die Zeiteinschränkungen für die Kindersicherung aktiviert sind, wenn die Zeit des Benutzers anläuft. Weitere Informationen finden Sie unter Anforderung 1.2.

2.7 Unterstützung langer 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

Spieler sind es gewohnt, lange Namen auf tiefen Pfaden zu verwenden, die vom zugrunde liegenden Betriebssystem unterstützt werden.

Weitere Informationen

Lange Namen werden als solche definiert, die die maximal im Windows SDK definierten Werte enthalten.

Installation

Zusammenfassung der Sicherheits- und Kompatibilitätsanforderungen

Kundenvorteile

Kunden können sicher sein, dass Anwendungen unter Windows installiert werden, ohne das Betriebssystem oder andere Anwendungen zu beeinträchtigen, wenn Anwendungen offizielle Systemkomponentenverteilungsmethoden verwenden. Eine optimierte Installationsumgebung bietet eine leichter zugängliche und problemlose Out-of-Box-Erfahrung für Spiele.

3.1 Support Einfache Installation

Anforderung

Spiele müssen einen vereinfachten Pfad in der Setup-Benutzeroberfläche bereitstellen, indem Folgendes implementiert wird:

  • Zeigen Sie maximal eine EULA-Eingabeaufforderung an.
  • Der Standardinstallationspfad muss alle Auswahlmöglichkeiten für die Installation umgehen (z. B. Installationsordner oder Komponentenauswahl), die Standardauswahl annehmen und das Spiel oder startprogramm nach erfolgreicher Installation ohne zusätzliche Eingabeaufforderungen ausführen. Bei Bedarf 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 unbeaufsichtigt ausgeführt werden, ohne dazu aufgefordert zu werden und ohne durch Überprüfungen der Komponentenversion geschützt zu werden.
  • Stellen Sie die Entfernung über Programme und Features in Systemsteuerung sowohl für die Spielanwendung als auch für generierte Arbeitsdateien bereit. Es wird empfohlen, alle vom Benutzer erstellten Datendateien zu löschen. Beim Entfernen muss sichergestellt werden, dass alle installierten Dateien entfernt und alle Einstellungen (z. B. Firewall-Ausnahmelisteneinträge 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 Setupvorgang dazu auffordern, benutzer darüber zu informieren, dass diese Änderung erforderlich ist. Diese Eingabeaufforderung sollte angezeigt werden, bevor die Installation beginnt.

Für die Installation und Entfernung können Administratorrechte erforderlich sein. Für das Patchen kann abhängig von der Häufigkeit des Updates eine Aufforderung zur Eingabe administrativer Anmeldeinformationen erforderlich sein. Das normale Spielen des Spiels darf keine Administratorrechte erfordern, gemäß Anforderung 2.1 Folgen Sie den Richtlinien für die Benutzerkontensteuerung.

Gründe

Die einfache Installation ist eine Windows-orientierte Spielentwicklungsphilosophie, die entwickelt wurde, um den manchmal mühsamen und verwirrenden Prozess der Installation von Spielen auf Computern mit Windows-Betriebssystemen zu vereinfachen und zu optimieren. 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-Computern reduzieren.

Die wichtigsten Ziele sind:

  • Reduzieren Sie die Zeit, um in das Spiel zu gelangen und mit dem Spielen zu beginnen.
  • Reduzieren Sie die Anzahl von Dialogfeldern und Auswahlmöglichkeiten auf sehr wenige oder keine, um die Spielinstallation zu vereinfachen.

Einige herkömmliche Installationen verfügen über Eingabeaufforderungen, die nicht funktionale Installationen zulassen, obwohl die Anwendung anscheinend erfolgreich installiert wurde. Beispielsweise kann ein Spiel verlangen, dass ein Benutzer eine EULA akzeptiert. Das Spiel wird dann installiert, und dann wird der DirectX-Lizenzvertrag angezeigt. Mit dieser EULA können Benutzer die Installation der DirectX-Runtime ablehnen und somit die Installation überspringen. Dieses Szenario kann zu einem Spiel führen, das aufgrund fehlender Komponenten nicht ausgeführt werden kann.

Weitere Informationen

Weitere Informationen zur Spieleinstallation, nicht herkömmlichen Spielinstallationstechniken, UAC-kompatiblen Patchlösungen und zur Behandlung häufiger Patches finden Sie in den folgenden DirectX-Artikeln:

Hinweis

Das Entfernen benutzerspezifischer generierter Datendateien sollte nur für den aktuellen Benutzer und für gemeinsame freigegebene Benutzerspeicherorte durchgeführt werden. Es gibt keine stabile Möglichkeit, das System zu überprüfen, um benutzerspezifische Dateien für andere Benutzer zu entfernen, auch wenn die Entfernung administrative Anmeldeinformationen erfordert.

3.2 Unterstützung der Benutzerkontensteuerung für die Installation

Anforderung

Das Spielinstallationsprogramm darf nicht davon ausgehen, dass es im selben Kontext wie der Benutzer ausgeführt wird. Benutzerspezifische Speicherorte unterscheiden sich selbst bei Einzelbenutzersystemen aufgrund der Erhöhung der Administratoranmeldeinformationen vom Installationsprogramm und dem Player. Wenn ein Spiel zum ersten Mal ausgeführt wird, muss es daher benutzerspezifische Aufgaben unabhängig vom Installationsprozess ausführen.

Das Dialogfeld "Windows Firewall-Ausnahme" darf nicht angezeigt werden, wenn ein Benutzer ein Multiplayerspiel hostet oder daran teilgibt. Alle erforderlichen Konfigurationen müssen zur Installationszeit ausgeführt werden. Die Setupanweisungen sollten den Benutzer darüber informieren, dass dieser Vorgang im Rahmen des Setups ausgeführt wird.

Das Spielinstallationsprogramm muss ein eingebettetes Manifest bereitstellen, das die erforderliche Ausführungsebene angibt, gemäß Anforderung 2.1 Folgen Sie den Richtlinien für die Benutzerkontensteuerung.

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 das Hinzufügen der Benutzerkontensteuerung (User Account Control, UAC), die standardmäßig Anwendungen mit reduzierten Berechtigungen ausführt. Daher müssen Installationsprogramme die Berechtigungsstufen entsprechend verwalten. Windows 7 nutzt auch die UAC umfassend. Während Windows 7 die Benutzerfreundlichkeit von UAC verbessert, müssen Installationsprogramme immer noch die gleichen Anforderungen wie unter Windows Vista erfüllen, um ordnungsgemäß zu funktionieren, ohne sich auf potenziell verwirrendes Virtualisierungsverhalten zu verlassen.

UAC ist standardmäßig unter Windows Vista und Windows 7 aktiv, und die große Mehrheit der Kunden (88 % oder mehr, basierend auf Feedback) lässt dieses Feature aktiviert.

Weitere Informationen

Weitere Informationen zum Konfigurieren der Windows-Firewall finden Sie im DirectX-Artikel Windows Firewall für Spieleentwickler und im FirewallInstallHelper-Beispiel.

Der Standardstart des Spiels am Ende des Installationsvorgangs erfüllt den letzten Aspekt dieser Anforderung nicht, wenn die Installation von einem Standardbenutzer gestartet wird und wenn der Setupvorgang Administratorrechte erfordert (d. a. die Aufforderung zur Eingabe von Administratoranmeldeinformationen). Außerdem erbt es Administratorrechte, was ein potenzielles Sicherheitsrisiko darstellt. Stattdessen sollte ein Setup-Bootstrapladeprogramm das Spiel starten, nachdem ein erfolgreicher Aufruf des Installers zurückgegeben wurde. Weitere Informationen finden Sie im MSDN-Magazin-Artikel Teach Your Apps to Play Nicely with Windows Vista User Account Control .

3.3 Installieren von Ordnern

Anforderung

Spiele, die für alle Benutzer installiert sind, 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 über die Flexibilität verfügen, Anwendungen dort zu installieren, wo sie sie benötigen. Sie sollten auch über eine konsistente und sichere Erfahrung mit dem Standardspeicherort von Dateien verfügen.

Weitere Informationen

Spiele können die verschiedenen bekannten Ordnerspeicherorte (z. B. die von CSIDL_LOCAL_APPDATA und CSIDL_COMMON_APPDATA angegeben) verwenden, um große Mengen an Spieldaten zu speichern und ausführbare Dateien zu unterstützen, um erweiterte Installations- und Patchszenarien zu implementieren.

Da die Installation während des Installationsvorgangs für alle Benutzer eine Erhöhung auf ein anderes Benutzerkonto erfordern kann, gibt es keinen richtigen Benutzerspeicherort, an dem Daten zur Installationszeit gespeichert werden können. Wenn die Dateiverschlüsselung aktiviert ist, kann auf verschlüsselte Dateien nur das Benutzerkonto zugreifen, von dem sie erstellt wurden.

3.4 Installieren von Windows-Ressourcen ordnungsgemäß

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, müssen diese Komponenten mithilfe eines Microsoft Service Packs oder eines von Microsoft genehmigten Installationspakets aktualisiert werden, das die Systemkomponente enthält. Systemkomponenten dürfen niemals neu verpackt werden.

Gründe

Windows Resource Protection (WRP) wurde entwickelt, um sicherzustellen, dass geschützte Systemressourcen nur mithilfe von Von Microsoft genehmigten Installations- oder Updatemechanismen aktualisiert werden. WRP verbessert die Systemsicherheit, indem sichergestellt wird, dass die Ergebnisse einer Installation vorhersagbar sind.

Weitere Informationen

WRP ist der Nachfolger von Windows File Protection, der die Mehrheit der Systemkomponenten schützt, die im Windows-Ordner installiert sind. WRP schützt die meisten Registrierungsschlüssel, die Einstellungen für die COM-Objekterstellung speichern. Außerdem werden bestimmte Ordner für die ausschließliche Verwendung durch das Betriebssystem reserviert. Versuche, auf geschützte Ressourcen zuzugreifen, führen in der Regel zu einem Zugriffsverweigerungsfehler.

Ausführliche Informationen zu bewährten Methoden bei der Bereitstellung der DirectX-Runtime mit einem Spiel finden Sie im 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 Neuverteilungspaketen einen Neustart erfordert, es sei denn, der Neustart wird durch ein Rückgabeergebnis oder eine Microsoft-Dokumentation angegeben.

Wenn das Spielinstallationsprogramm immer einen Neustart erzwingt, muss dies von Microsoft genehmigt werden.

In Windows Installer-Paketen enthaltene Dialogfelder für verwendete Dateien müssen eine Option zum automatischen Schließen von Anwendungen und zum Neustarten nach Abschluss des Setups enthalten sein.

Gründe

Ein Neustart des Systems nach einer Installation ist für Benutzer eine unbequeme Störung und in der Regel unnötig.

Weitere Informationen

Weitere Informationen finden Sie unter Verwenden von Windows Installer mit Neustart-Manager.

3.6 Verwenden Der Dateiversionsverwaltung ordnungsgemäß

Anforderung

Das Spielinstallationsprogramm muss ordnungsgemäß überprüfen, um sicherzustellen, dass die neuesten Dateiversionen installiert sind. Die Installation eines Spiels darf niemals Dateien zurückgeben, die Sie nicht erstellen oder die von Anwendungen freigegeben werden, die Sie nicht erstellen.

Gründe

Freigegebene Komponenten und Systemkomponenten werden häufig für Sicherheitsupdates und erweiterte Funktionen aktualisiert. Eine Installation, die eine ältere Version aktualisierter Komponenten enthält, sollte nicht zum Verlust von Updates und Fixes führen, die bereits angewendet wurden.

3.7 Support Autorun [Bedingte Anforderung]

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 zur Installation des Spiels auffordern, es sei denn, der Benutzer hat das Feature Autorun deaktiviert.

Nachdem die Anwendung erfolgreich installiert wurde, darf das erneute Einlegen des Datenträgers in das Laufwerk nicht dazu führen, dass die Installation automatisch erneut beginnt. Es ist akzeptabel, Benutzer zu fragen, ob sie ihre Installationsoptionen aktualisieren oder ändern möchten.

Die Autorun-Anwendung darf nicht zur Erhöhung auffordern (d. h. sie muss gemäß Anforderung 2.1 asInvoker im Manifest enthalten, obwohl sie das Setupprogramm oder ein anderes Hilfsprogramm starten kann, das Administratorrechte erfordert. Die Erhöhung sollte nur auftreten, wenn das Spiel nicht installiert ist oder wenn der Benutzer es speziell auswählt.

Gründe

Autorun vereinfacht die Verwendung von medienverteilten Anwendungen, z. B. Spiele, für die normalerweise erforderlich ist, dass der Datenträger im Laufwerk vorhanden ist, um das Spiel zu spielen.

Weitere Informationen

Es ist nicht akzeptabel, dass der Benutzer in Explorer navigieren muss, um die Installation von der CD oder DVD zu starten.

Bei Spielen, die auf mehreren Discs verteilt werden, sollten nachfolgende Discs im Idealfall entweder das Feature Autorun verwenden oder die Installation fortsetzen, ohne den Benutzer zum Drücken einer Taste oder zu einer anderen Aktion auffordern zu müssen.

Stellen Sie beim Erstellen eines Autorun-Programms sicher, dass alle erforderlichen Komponenten bei neu installierten Windows-Installationen vorhanden sind. Typische Anwendungen basieren auf Technologien, die vom Setup installiert werden, aber Autorun selbst wird ausgeführt, bevor ein solches Setup erfolgt. Ein häufiges Beispiel ist der Fehler von Autorun-Programmen, da die Visual C Runtime-DLLs nicht teil des Windows-Setups waren. Das Autorun-Programm muss daher die lokale CRT-Bereitstellung der Anwendung verwenden oder das CRT statisch verknüpfen.

Autorun-Programme, die für die Verwendung in Windows-Versionen 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 die .NET-Runtime als Teil ihres Betriebssystems einschließen.

Aus ähnlichen Gründen können Autorun-Programme nicht das Vorhandensein optionaler DirectX SDK-Komponenten wie D3DX9, D3DX10, D3DX11, XAudio2, X3DAudio, XACT, XINPUT und MDX 1.1 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 die Anzahl von Abstürze, Abbrüchen und Neustarts minimiert wird. Die Zuverlässigkeitsanforderungen können dazu beitragen, dass Software vorhersagbarer, wartbarer, resilienter und wiederherstellbarer 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 lauschen und darauf reagieren:

WM_QUERYENDSESSION mit LPARAM = ENDSESSION_CLOSEAPP (0x1)

GUI-Anwendungen müssen sofort reagieren (TRUE), um einen Neustart vorzubereiten.

WM_ENDSESSION mit LPARAM = ENDSESSION_CLOSEAPP (0x1)

Anwendungen müssen innerhalb von 5 Sekunden einen Wert 0 zurückgeben und dann schließen.

STRG+C

Konsolenanwendungen, die diese Nachricht erhalten, müssen sofort geschlossen werden.

Gründe

Systemneustarts stellen eine große Störung dar. Sie führen zu einer schlechten Benutzererfahrung und sollten minimiert werden. Einige Vorgänge, z. B. wichtige Systemupdates, können Neustarts erfordern. Durch Das Lauschen auf Herunterfahren von Nachrichten können das Spiel und andere Anwendungen umgehend auf Anforderungen des Neustart-Managers reagieren. Auf diese Weise können sie unnötige Verzögerungen bei gültigen Neustartanforderungen vermeiden.

Weitere Informationen

Wenn ein Spieleinstallationsprogramm die Windows Installer-Technologie (MSI) ohne benutzerdefinierte Aktionen verwendet, wird diese Funktionalität automatisch bereitgestellt. Microsoft-Neuverteilungspakete unterstützen auch den Neustart-Manager.

Weitere Informationen zum Neustart-Manager finden Sie im MSDN-Artikel About Restart Manager.

4.2 Vermeiden von Anwendungsüberprüfungsfehlern

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 viele bekannte Probleme, die zu Abstürzen und Abstürzen in Windows-Anwendungen führen, sowie auf bekannte Sicherheitsrisiken.

Weitere Informationen

Weitere Informationen zur Application Verifier finden Sie unter Application Verifier und Using Application Verifier Within Your Software Development Lifecycle (Verwenden der Anwendungsüberprüfung in Ihrem Softwareentwicklungslebenszyklus ) auf MSDN. Sie können Application Verifier unter Downloaddetails: Application Verifier im Microsoft Download Center herunterladen.

Diese Anforderung gilt nicht für reine verwaltete Anwendungen ohne native Interoperabilität.

Diese Tests sollten für einen Releasebuild ausgeführt werden. Das Debuggen von Builds kann zu falschen Fehlern führen. Einige Antipiraterie- und Anti-Cheat-Technologien können die Ausführung von AppVerifier beeinträchtigen. Daher sollten diese Tests ohne aktivierte Antipiraterie- und Anti-Cheat-Technologien durchgeführt werden.

Es kann erforderlich sein, die Full-Eigenschaft des Basics:Heaps-Tests auf FALSE festzulegen, da der vollständige PageHeap den Arbeitsspeicherdruck der ausgeführten Anwendung erheblich erhöht. Fehler werden weiterhin erkannt, aber sie sind möglicherweise schwieriger aufzuspüren, wenn Sie nur teilweise PageHeap verwenden.

Wenn Sie die UAC/LUA-bezogenen Tests in Application Verifier verwenden, um die Anforderungen für die Benutzerkontensteuerung 2.1 und 3.2 zu erfüllen, sollten Sie die Standardbenutzeranalyse verwenden, um die Ergebnisse zu überprüfen. Es gibt auch zahlreiche weitere nützliche Tests, die von Application Verifier bereitgestellt werden, die Sie dringend bei Der Entwicklung und 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 Einhaltung der 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 aufzuspüren und zu beheben: Heaps-, Handles- und Sperrentests.

4.3 Support 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 bekannte und erwartete Ausnahmen behandeln. Windows-Fehlerberichterstattung darf nicht deaktiviert werden. Wenn ein Fehler wie eine Zugriffsverletzung in einem Spiel auftritt, muss es Windows-Fehlerberichterstattung erlauben, den Absturz zu melden.
  • Alle ausführbaren Dateien (z. B. .exe Dateien oder DLLs) müssen einen genauen Produktnamen, Firmennamen und Eine genaue 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 zur Erkennung weit verbreiteter Abstürze und Hänger in Anwendungen. Dadurch können Microsoft und seine Partner System- und Treiberprobleme, die schnell zu Anwendungsfehlern führen, schnell erkennen und beheben.

Weitere Informationen

Spiele können benutzerdefinierte, nicht behandelte Ausnahmehandler enthalten, um benutzerdefinierte Support- und Berichterstellungsfunktionen auszuführen, aber sie müssen jeden Fehler an die Funktionen ReportFault oder WerReportSubmit übergeben.

Die richtigen Dateiversionsinformationen 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 zum Analysieren der Absturzabbilder, die bei Verwendung dieses Diensts generiert werden, finden Sie im DirectX-Artikel Absturzabbildanalyse.

Allgemeine Xbox 360-Controller für Windows– Terminologie

Name BESCHREIBUNG
Ein Die Schaltfläche A.
B Die Schaltfläche B.
Zurück Die Schaltfläche Zurück.
(rechts/links) Stoßstange Die Schaltfläche am oberen rechten und linken Rand des Controllers. Entspricht einer Schultertaste.
Richtungspad Das Controller-Direktionalpad.
D-Pad Akzeptierte Abkürzung für directional pad.
DP Abkürzung für Richtungspad und Controllerbezeichnung.
RB, LB Abkürzungen für rechte und linke Bumper und Controllerbezeichnungen.
RS, LS Abkürzungen und Controllerbezeichnungen auf der rechten und linken Seite.
RT, LT Rechts und links lösen Abkürzungen und Controllerbezeichnungen aus.
RSB, LSB Abkürzungen und Controllerbezeichnungen auf der rechten und linken Seite.
START Die Schaltfläche Start.
(rechts/links) Stick Der Controllerstick. Früher Daumenstick.
(rechts/links) Sticktaste Die Controller-Sticktaste. Früher Ziehpunkttaste.
(rechts/links) Trigger Der Controllertrigger.
Vibration Vom Controllermotor erzeugtes Gameplay-Feedback. Verwenden Sie nicht Rumble.
X Die Schaltfläche X.
J Die Schaltfläche Y.
Xbox 360 Controller für Windows Das Xbox 360-Gamepad wird als PC-Hardware-SKU verkauft, einschließlich einer Windows-Gerätetreiber-DISC.
Xbox 360 Wireless Controller für Windows Das Xbox 360 Wireless Gamepad wird als PC-Hardware-SKU verkauft, einschließlich einer Windows-Gerätetreiber-DISC.

Richtlinien für Spielemiddleware-Produkte

Einführung

Damit Spiele sich für das Games for Windows-Programm qualifizieren können, müssen sie eine Liste der technischen Anforderungen erfüllen. Alle Komponenten von Drittanbietern, die mit einem Titel ausgeliefert werden (ausführbare Dateien, DLLs, Treiber usw.), müssen ebenfalls diese Anforderungen erfüllen, damit sich das Spiel qualifizieren kann. In diesem Dokument werden die häufigsten Anforderungen hervorgehoben, die auch von den Drittanbieterkomponenten erfüllt werden müssen, damit das Spiel die Konformitätstests bestehen kann. Installationsprogramme und vollständige Spiele-Engine-/Produktionspakete sollten das vollständige Dokument zu den technischen Anforderungen für Spiele für Windows 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 Spiele für Windows entsprechen, gibt es eine Reihe weiterer Überlegungen, die Sie beim Entwerfen und Bereitstellen einer Bibliothek oder eines Supporthilfsprogramms für ein Windows-Spiel berücksichtigen sollten.

  • Stellen Sie zur Unterstützung von Entwicklern, die an nativen 64-Bit-x64-Anwendungen arbeiten, sowohl native 32-Bit- als auch 64-Bit-Versionen Ihrer Bibliotheken bereit. Die 32-Bit-Version muss 64-Bit-kompatibel pro Version 2.2 sein. Bibliotheken für 32-Bit-Anwendungen sollten nicht davon ausgehen, dass das high-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 ergänzen. Dadurch können Benutzer Ihrer Bibliothek den maximalen Nutzen der statischen Codeanalyse (/analyze) nutzen, die Teil von Visual Studio Team System 2005, Visual Studio Team System 2008, Visual Studio 2010 Premium und Visual Studio 2010 Ultimate sowie den öffentlich verfügbaren Windows SDK-Compilertools ist.

  • Wenn Ihr Produkt Threads innerhalb des Prozesses des Benutzers erstellt, müssen Sie jeden Thread benennen, damit Debugtools 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 allgemeine Vorgänge zur einfacheren Identifizierung von Engpässen mithilfe von PIX für Windows zu kommentieren.

    Hinweis

    Für die Visual Studio 2012-Grafikdiagnosefunktion 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 beim Games Explorer registrieren und das RSS-Feature nutzen, um dienstbezogene Nachrichten bereitzustellen.

Spiele für Windows-Showcases

Einführung

Spiele für Windows-Showcases bieten nicht nur ein solides Spielerlebnis auf Windows-PCs. Durch die Implementierung dieser Features können Spiele der Benutzererfahrung auf den neuesten Windows-Plattformen mehr Spannung verleihen.

Spiele für Windows-Titel müssen alle in diesem Artikel aufgeführten technischen Anforderungen erfüllen, aber Showcase-Features 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 ausnutzen, verwenden optimierte Inhalte, erweiterte Renderingtechniken und neue Hardwarefeatures, um ein überzeugendes Erlebnis auf Hardware zu schaffen, die 10, 10.1 und 11 unterstützt.

Wenn das Spiel auch Direct3D 9 implementiert, sollte ein paralleler Vergleich eine spürbare Verbesserung der Inhaltsqualität, der Visuellen Genauigkeit, der Leistung, der Szenenkomplexität und anderer Bereiche der Grafiktreue für Direct3D 11 zeigen. Dieser Support unterliegt der technischen Anforderung "Spiele für Windows 1.7".

Die Direct3D 10level9-Technologie kann zur Unterstützung von Shader Model 2.0/3.0 Direct3D 9-Klasse-Videohardware unter Windows Vista und Windows 7 verwendet werden, anstatt eine parallele Direct3D 9-Implementierung für umfassende Hardwareunterstützung zu verwenden. Dies reicht jedoch nicht aus, um dieses Vorzeigebeispiel zu demonstrieren.

Auf Computern unter Windows Vista oder Windows 7 mit installiertem Direct3D 11 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-Tessellation, Compute-Shader, Multithread-Rendering und Ressourcenerstellung, neue Texturkomprimierungsformate und eine flexiblere Shadersprache. Direct3D 11 bietet einheitliche Hardwareunterstützung für moderne Grafikkarten, darunter direct3D 11-Grafikkarten der neuesten Generation, alle Direct3D 10- und 10.1-Grafikkarten sowie viele Shader Model 2.0/3.0 Direct3D 9-Grafikkarten, was die mindest erforderliche Videohardware für den Aero 3D-Desktop ist.

Zusätzliche Informationen

Die Migration einer Direct3D 9-Rendering-Engine zur Verwendung der neuen Direct3D 11-Schnittstelle ist eine klar definierte Aufgabe:

  • Beseitigen Sie alle Vorgänge mit festen Funktionen 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 ermöglichen, obwohl das Ergebnis nicht die Vorzeigeanforderung für die Nutzung der neuen API erfüllt.

Die neue API und das zugehörige HLSL-Programmiermodell bieten viele Möglichkeiten für erweiterte Inhalte:

  • Nutzung vorhandener Direct3D 10-Hardwarefeatures, z. B. Geometry Shader, Stream Out, Texturarrays und der komprimierten BC4/BC5-Texturformate.
  • Nutzung vorhandener Direct3D 10.1-Hardwarefeatures, z. B. unabhängige Blendmodi pro Renderziel, MSAA-Tiefenlesevorgang, MSAA-Shaderzugriff pro Sample, Cubezuordnungsarrays und Rendering in blockkomprimierten Formaten (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 auf mehreren Threads mithilfe von Freethread-Ressourcenerstellung und mehreren Gerätekontexten zur Verbesserung der Leistung auf Multicore-Systemen (mit aktualisierten Videotreibern). Weitere Informationen finden Sie unter Games for Windows Showcase S.3.
  • Unter Verwendung neuer Features von Direct3D-Videohardware der 11-Klasse, z. B. Hardware-Tessellation mit Rumpf- und Domänenshadern, Shadermodell 5.0 HLSL-Shaderhardware, bietet bc6HBC7 komprimierte Texturformate und Dynamische 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 Oberfläche bietet, die durch x64-Editionen von Windows auf x64-fähiger Hardware ermöglicht wird. Ein paralleler Vergleich mit der 32-Bit-Version des Spiels sollte eine spürbare Verbesserung der Inhaltskomplexität, geringere Gesamtladezeiten 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 für Den Games Explorer unter Windows Vista und Windows 7 eine zusätzliche Wiedergabeaufgabe angegeben werden, die auf die 32-Bit-Version verweist, aber die Standardversion sollte 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 Vorzeigeempfehlung zu erfüllen. 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 für vorhandene Anwendungen 32-Bit-Abwärtskompatibilität mit voller Geschwindigkeit umfassen. x64 ist ein wichtiger Bestandteil der Roadmap für AMD (AMD64) und Intel (EMT64) und unterstützt mit Ausnahme von ultramobilen CPUs die Technologie für alle Prozessoren der aktuellen und zukünftigen Generation.

Windows XP Professional x64 Edition war das erste verbraucherorientierte Windows-Betriebssystem (OS), das x64-Technologie unterstützte, und Windows Vista und Windows 7 erweitern die Verfügbarkeit der Betriebssystem-Fähigkeit für 64-Bit-Consumercomputing erheblich. Mit 2 GB RAM als Standard auf vielen neuen Computern profitieren weitere Verbesserungen bei der Speicherskalierung nicht von 32-Bit-Einzelanwendungen, die nicht mehr als 2 GB physischen RAM adressieren können. Viele Spiele stehen heute vor Herausforderungen, die alle verfügbaren Inhalte in die Einschränkungen von 2 GB des virtuellen Adressraums 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ützten Detailebenen erheblich.

Die x64-Kompatibilität für 32-Bit-Spiele ist eine technische Anforderung von Games für Windows (2.2), aber die nutzung der neuen Technologien in vollem Umfang 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 virtuelle Speicheradressraum ermöglicht eine umfangreiche Verwendung von speicherabbildeten E/A-Vorgängen, ohne sich um Probleme bei der Vm-Adressraumauslastung zu kümmern, die bei der 32-Bit-Programmierung auftreten. Spiele können den neuen Speicherplatz nutzen, um ladezeiten erheblich zu verbessern oder in einigen Fällen Pausen für das Laden von Inhalten zu vermeiden.

Vorhandene 32-Bit-Anwendungen können von x64-Editionen profitieren, indem sie über die Möglichkeit verfügen, Adressen mit vollständigen 32-Bit-Daten zu verarbeiten, wenn sie mit der Linkeroption Große Adressen aktivieren (/LARGEADDRESSAWARE aktivieren) erstellt werden. In 32-Bit-Versionen von Windows XP ermöglichten spezielle Startmodi es solchen Anwendungen, bis zu 3 GB RAM zu adressieren, 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 Brückentechnologie eine äußerst nützliche Möglichkeit, zusätzliche Skalierungsvorteile für x64-Versionen von Windows für diejenigen zu bieten, die diese Vorzeigeanforderung 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 auf der Game Developer-Website.

Hinweis

Eine wichtige Herausforderung für dieses Showcase 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 sich als Herausforderung für Engine-Codebasen mit älteren Implementierungen von Schlüsselsystemen erweisen kann.

S.3 Exploit Many-Core Prozessoren

Anforderung

Das Spiel implementiert Features, die mehrkernige Prozessoren nutzen und bei Verfügbarkeit auf 3, 4 oder mehr Kerne skaliert werden.

Wenn das Spiel Einzelprozessor- oder Dual-Core-Systeme unterstützt, sollte ein paralleler Vergleich mit einem Quad-Core-System spürbare neue Features, zusätzliche überzeugende Effekte, eine Verbesserung der Inhaltsqualität und/oder eine verbesserte Leistung zeigen.

Da die Dual-Core-Skalierung bereits von Spielen weitgehend unterstützt und automatisch von verschiedenen Direct3D-Treibererweiterungen genutzt wird, reicht die Dual-Core-Skalierung nicht aus, um dieses Showcase zu demonstrieren.

Gründe

Das kontinuierliche Leistungswachstum für CPUs hat von Verbesserungen der Taktrate auf die Hinzufügung von Rechenkernen umgestellt. Sowohl AMD- als auch Intel-Roadmaps basieren auf skalierbaren Multicore-Designs. Alle Spieleplattformen der nächsten Generation verfügen aufgrund dieser grundlegenden Verschiebung der Prozessorentwicklung über Mehrkern-CPUs. Singlethreadanwendungen werden keine signifikanten Vorteile mehr durch CPUs der nächsten Generation erzielen. Einfaches Multithreading kann auch nicht skaliert werden, wenn die Anzahl der häufig verwendeten CPU-Kerne auf drei oder mehr ansteigt.

Zusätzliche Informationen

Beachten Sie, dass die Kernanzahl nicht eine Leistung von zwei sein muss, sodass Spiele linear skaliert werden sollten und die Kernanzahl von 3, 4, 5, 6, 7, 8 usw. verarbeiten sollte.

Die Skalierung durch Erhöhen der Anzahl von Threads in einer Anwendung bietet nur dann eine Rendite, wenn die Kosten für Kommunikation und Threadsynchronisierung in Schach gehalten werden. Die featurebasierte Skalierung kann sich kurzfristig als einfachere Lösung erweisen, sodass das Spiel normal ohne die zusätzlichen Threads auf Single-Core-Systemen ausgeführt werden kann und diese aktiviert werden, 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 the DirectX articles, the DXUTLockFreePipe utility and the CoreDetection sample.

Die Verwendung der Direct3D 11-Freethread-Ressourcenerstellung und -Gerätekontexte ist nützlich, um beim Rendern und Laden von Grafikressourcen eine Skalierbarkeit mit vielen Kernen zu erzielen. Siehe Spiele für Windows Showcase S.1.

Beachten Sie, dass die direkte Verwendung der CPU-Anweisung rdtsc anstelle von Windows-APIs zum Berechnen des Timings auf Multicore-Systemen zu Problemen bei einigen Hardware- und Betriebssystemkonfigurationen führen kann. Weitere Informationen finden Sie unter Game Timing und Multicore-Prozessoren in den DirectX-Artikeln.

S.4 Support-Spiele 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 mithilfe von Toucheingaben und/oder Gesten auf Computern mit Windows 7 mit einem Touch-Display wiedergegeben werden. Tastatureingaben können ebenfalls verwendet werden, die primäre Wiedergabeschnittstelle muss jedoch touchbasiert sein.

Das Aktivieren der Toucheingabe sollte die Verwendung der Maus oder des gemeinsamen Controllers gemäß der technischen Anforderung 1.4 nicht verhindern.

Es wird nicht erwartet, dass das Installationsprogramm des Spiels Windows Touch-Funktionen unterstützt.

Gründe

Multitouch-fähige Displays für Computer sind für Laptops und Desktops verfügbar und stellen eine wichtige Hardwarefunktion dar, die mit der Veröffentlichung von Windows 7 gefördert wird. Windows 7 unterstützt Windows Touch auf allen Desktop- und allgemeinen Steuerungsoberflächen.

Zusätzliche Informationen

Native Codeanwendungen können über die WM_TOUCH Nachrichten in Kombination mit der Funktion RegisterTouchWindow auf Multitouch zugreifen. Siehe auch die Manipulations- und Totträ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 High Color unterstützen, verwenden das Format 10:10:10:2 (DXGI_FORMAT_R10G10B10A2, D3DFMT_A2B10G10R10) oder ein 16:16:16:16:16:16 (DXGI_FORMAT_R16G16B16A16, D3DFMT_A16B16G16R16) Format für den Renderingrückpuffer und den Vollbildmodus.

Mithilfe eines High Color-Renderziels können High-Dynamic-Bereichsinhalte (HDR) mit einer erweiterten oder breiten Farbskala gerendert werden, wenn die Tonzuordnung zu einem 10-Bit- oder 16-Bit-Bereich durchgeführt wird.

Gründe

Monitore können seit vielen Jahren mehr als 256 Farbstufen pro Kanal anzeigen, auch wenn CRT-Displays weit verbreitet waren. Die Auscheckhardware auf Grafikkarten war der einschränkende Faktor. Moderne GPUs, einschließlich der meisten Direct3D-Hardware der 9-Klasse und aller Direct3D 10-Klassen und besserer Hardware, verfügen über Scan-Out-Hardware, die mindestens 10 Bit pro Kanal ermöglicht, und die Hardwarefunktion wird in Zukunft auf 16 Bit pro Farbkanal anwachsen. HD-TV-Verbindungssysteme (HDMI, DisplayPort) wurden 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 sich High Color oder Hi Color in der Vergangenheit auf die Umstellung von 256 (8-Bit)-Farbanzeigen auf 15- oder 16-Bit-Farbanzeigen bezieht. Die meisten Anzeigesysteme sind längst auf True Color umgestellt, die 24-Bit-Farbe oder 8 Bit pro Farbkanal für Rot, Grün und Blau ist. Mit High Color meinen wir hier eine neue Generation von Anzeigesystemen, die mit mehr als 8 Bit pro einzelnen Farbkanal arbeiten können. Wird auch als Deep Color bezeichnet.

Einführung

Zusätzlich zur Erfüllung der technischen Anforderungen und der Übernahme 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 Rahmen der grundlegenden technischen Anforderungen, es wird jedoch dringend empfohlen, sie für alle Spiele für Windows-Titel zu verwenden.

Zusätzliche Empfehlungen

  • Verwenden Sie den neuesten Visual Studio-Compiler und die neueste Runtime. Neuere Versionen des Compilers implementieren erhebliche Verbesserungen für die Qualität des generierten Codes und für Sicherheitsprobleme und verwenden moderne Prozessoroptimierungsstrategien. Das Aktualisieren des Compilers und die Verwendung der neuesten C-Runtime ist eine einfache Möglichkeit, zu modernen Codierungsmethoden zu migrieren.
  • Verwenden Sie die DLL-Version (Dynamic Link Library) der C-Runtime anstelle der statischen Verknüpfung, 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 den Installer selbst).
  • Verwenden Sie für Spielaudio2, X3DAudio und/oder XACT anstelle von DirectSound. Für Audio-Engines, die alle Misch- und Quellratenkonvertierungen durchführen und nur eine Lösung mit geringer Latenz für die Audioausgabe benötigen, verwenden Sie DirectSound unter Windows XP (nur) und WASAPI unter Windows Vista und Windows 7.
  • Vermeiden Sie die Verwendung älterer und veralteter APIs: DirectDraw, DirectSound, DirectPlay, DirectMusic-Leistungsebene, DirectPlay Voice und Direct3D Retained Mode. Beachten Sie, dass DirectPlay Voice und Direct3D Retained Mode unter Windows Vista oder Windows 7 überhaupt nicht verfügbar sind. DirectPlay und die Leistungsebene von DirectMusic sind für x64-native Anwendungen nicht verfügbar.
  • Optimieren Sie mithilfe von SSE/SSE2 SIMD-Befehlssätzen. Sehen Sie sich die DirectXMath-API im Windows SDK als plattformübergreifende Lösung für SIMD-optimierte mathematische Vorgänge an.
  • Verwenden Sie moderne bewährte Methoden für die 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 älteren DirectSetup-Bereitgestellten 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 die Anwendung Die Unterstützung für Pixel Shader 1.x erfordert, verwenden Sie die Shaderassembly anstelle von HLSL, 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 unter Windows XP, Windows Vista und Windows 7
Windows SDK
Windows SDKs
Richtlinien für die Benutzerkontensteuerung
Windows Vista Anwendungsentwicklungsanforderungen für die Kompatibilität der Benutzerkontensteuerung
DirectX-Entwicklerportal
Directx Developer Center
Spiele für Windows und DirectX SDK Blog
Spiele für Windows und das DirectX SDK
Zusätzliche DirectX-Artikel
Technische Artikel zu DirectX