Speicherplatznutzung der virtuellen Adresse bei der Spielentwicklung unter Windows Vista

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 940105 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Mithilfe dieses Updates wird die Speicherplatznutzung der virtuellen Adresse in bestimmten Szenarien verringert. Wenn Sie dieses Update installieren, ist es weniger wahrscheinlich, dass Anwendungen die Speicherplatzbegrenzungen der virtuellen Adresse erreichen, die unter Hardwarekonfigurationen ausgeführt werden, die eine große Menge an Videospeicher beanspruchen. Mithilfe dieses Updates wird möglicherweise die Anwendungsleistung für bestimmte Hardwarekonfigurationen verbessert.

Dieses Update ist in Windows Vista Service Pack 1 (SP1) enthalten.

Klicken Sie auf die folgende Artikelnummer, um den Artikel der Microsoft Knowledge Base mit Informationen darüber aufzurufen, wie Sie das aktuelle Vista Service Pack erhalten oder wie Sie prüfen, ob dieses bereits installiert wurde:
935791 Beziehen des neuesten Service Packs für Windows Vista

Weitere Informationen für erfahrene Benutzer

In diesem Artikel wird die Speicherplatznutzung der virtuellen Adresse bei der Entwicklung von Windows-Spielen erläutert. Zudem werden Probleme beschrieben, die auftreten können, wenn Sie Anwendungen unter einem modernen Betriebssystem wie z. B. Windows Vista ausführen. Der Artikel enthält Informationen über ein Update, mit dem möglicherweise einige dieser Probleme behoben werden können. Weitere Informationen zu diesen Problemen erhalten Sie auf folgender Microsoft-Website:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
Unter einem modernen Betriebssystem wie z. B. Windows Vista werden Anwendungen innerhalb eines eigenen privaten virtuellen Adressraums ausgeführt. In der Regel ist die Größe des virtuellen Adressraums für 32-Bit-Anwendungen auf 2 Gigabyte (GB) festgelegt. Wie viel virtueller Adressraum zur Verfügung steht, ist nicht vom vorhandenen physischen Speicher auf dem Computer abhängig.

Alle von einer Anwendung geladenen Speicherzuordnungen, Dateizuordnungen oder Bibliotheken belegen in diesem virtuellen Adressraum Speicher. Wenn eine Anwendung ihren gesamten virtuellen Adressraum beansprucht, schlagen alle zusätzlichen Vorgänge fehl. Obwohl alle Anwendungen für den Umgang mit Speicherzuordnungsfehlern programmiert sein sollten, werden einige Anwendungen nach derartigen Fehlern nicht ordnungsgemäß wiederhergestellt. Daher sind die Programme nach der Wiederherstellung möglicherweise instabil oder reagieren nicht mehr.

Vorhandene Spiele und andere Grafikanwendungen ordnen häufig virtuellen Arbeitsspeicher für eine Kopie der Videospeicherressourcen zu, die von der Anwendung verwendet werden. Diese Kopie wird von der Anwendung verwendet, um die Anzeige schnell wiederherzustellen, wenn die Inhalte des Videospeichers verloren gehen. So wird diese Kopie beispielsweise verwendet, wenn der Benutzer ALT+TAB drückt oder den Computer in den Ruhezustand versetzt. In der Regel verwaltet die DirectX-Laufzeit die Kopie auf Anforderung der Anwendung, wenn diese eine verwaltete Ressource erstellt. Die Kopien können jedoch auch von den Anwendungen selbst verwaltet werden. Der von der Anwendung verwendete virtuelle Arbeitsspeicher entspricht exakt den Videospeicherressourcen, die von der Anwendung zugeordnet werden.

Moderne Grafikprozessoren verfügen über 512 MB oder mehr Videospeicher. Anwendungen, die versuchen, derartig große Mengen an Videospeicher zu nutzen, können einen großen Teil ihres virtuellen Adressraums für eine Kopie ihrer Videoressourcen im Arbeitsspeicher verwenden. Bei 32-Bit-Systemen belegen solche Anwendungen möglicherweise den gesamten verfügbaren virtuellen Adressraum.

Dank der Einführung von DirectX 10 und des Windows-Anzeigetreibermodells (WDDM – Windows Display Driver Model) in Windows Vista müssen Anwendungen keine Kopien ihrer Ressourcen im Systemspeicher beibehalten. Stattdessen wird durch den Videospeichermanager sichergestellt, dass die Inhalte aller Videospeicherzuordnungen über Anzeigeübergänge hinweg beibehalten werden. Aus Kompatibilitätsgründen emuliert Windows Vista "Gerät verloren" (device lost) für DirectX-Versionen vor DirectX 10, um sicherzustellen, dass es keine für die Anwendung sichtbaren Änderungen des API-Verhaltens gibt.

Um Videospeicher zu virtualisieren, weist der Videospeichermanager in Windows Vista jeder Videospeicherressource einen virtuellen Adressbereich zu. Dieser Bereich entspricht vom Konzept her der Kopie, die von einer Anwendung erstellt werden könnte. Der Videospeichermanager verwaltet den Prozess jedoch effizienter als dies durch die Anwendung erfolgen würde. Der Videospeichermanager verwendet den virtuellen Adressbereich, um Übergänge oder Overcommitment (Vergabe von mehr Speicher als vorhanden) von Videospeicher zu behandeln. Der virtuelle Adressbereich wird jedoch in Systemen mit ausreichendem Videospeicher in der Regel nicht verwendet. Wenn dieser virtuelle Adressbereich nicht verwendet wird, erfolgt auch keine Zuordnung von physischem Speicher. Dagegen ist für die Kopie, die bei dem älteren Treibermodell im Systemspeicher verwaltet wird, garantiert in vollem Umfang Arbeitsspeicher reserviert.

Wenn von einer Anwendung im Arbeitsspeicher die Kopie ihrer Videoressourcen erstellt wird, oder wenn DirectX 9 oder eine frühere Version verwendet wird, enthält der virtuelle Adressraum den virtualisierten Bereich des WDDM-Videospeichermanagers und die von der Anwendung erstellte Kopie. Anwendungen, die Grafik-APIs vor DirectX 10 verwenden und auf GPUs zugreifen, die einen großen Videospeicher haben, können ihren virtuellen Adressraum leicht erschöpfen.

Um dieses Problem zu beheben, wird von Microsoft die Art und Weise geändert, in der der Videospeichermanager die Inhalte von Videospeicherressourcen beibehält. Diese Änderung wird vorgenommen, damit nicht für jede virtualisierte Zuordnung ein permanenter virtueller Adressbereich verwendet werden muss. Dank des neuen Ansatzes belegen nur Zuordnungen, die als "sperrbar" erstellt werden, Speicher im virtuellen Adressraum der Anwendung. Zuordnungen, die nicht als "sperrbar" erstellt werden, belegen keinen Speicher. Dadurch wird der verwendete virtuelle Adressraum deutlich verringert. Daher können Anwendungen unter Konfigurationen für großen Videospeicher ausgeführt werden, ohne die Grenzen zu erreichen.

Obwohl mit diesem Ansatz der Verbrauch an virtuellem Adressraum reduziert wird, bleibt die virtuelle Adressraumbegrenzung von 2 GB bestehen, der sich viele Anwendungen schnell nähern. Diese Anwendungen erreichen diese Grenze letztlich aus anderen Gründen.

Updateinformationen

Die folgenden Dateien stehen im Microsoft Download Center zum Download zur Verfügung:

Windows Vista, 32-Bit-Versionen

Bild minimierenBild vergrößern
Download
Paket 940105 jetzt herunterladen

Windows Vista, 64-Bit-Versionen

Bild minimierenBild vergrößern
Download
Paket 940105 jetzt herunterladen

Weitere Informationen zum Herunterladen der Support-Dateien von Microsoft erhalten Sie, indem Sie auf die folgende Artikelnummer klicken, um den Artikel der Microsoft Knowledge Base anzuzeigen:
119591 So erhalten Sie Microsoft Support-Dateien im Internet
Diese Datei wurde von Microsoft auf Viren überprüft. Dazu wurde die neueste Software zur Virenerkennung verwendet, die zum Zeitpunkt der Bereitstellung verfügbar war. Die Datei befindet sich auf Servern mit verstärkter Sicherheit, wodurch nicht autorisierte Änderungen an der Datei weitestgehend verhindert werden.

Voraussetzungen

Wenn Sie einen Windows Vista-Computer mit mehreren Grafikkarten haben, sollten Sie zunächst den Hotfix installieren, der im Microsoft Knowledge Base-Artikel 936710 beschrieben wird. Weitere Informationen erhalten Sie per Mausklick auf die folgende Artikelnummer der Microsoft Knowledge Base:
936710 Wenn auf einem Computer auf Windows Vista-Basis mit mehreren Grafikkarten eine DirectX 10-Anwendung ausgeführt wird, verwendet der Computer die zweite Grafikkarte nicht

Neustart

Nach Anwendung dieses Updates muss der Computer neu gestartet werden.

Ersetzte Updates

Dieses Update ersetzt kein zuvor veröffentlichtes Update.

Dateiinformationen

Die englische Version dieses Updates weist die in der nachstehenden Tabelle aufgelisteten Dateiattribute (oder höher) auf. Datum und Uhrzeit dieser Dateien sind in UTC (Coordinated Universal Time) angegeben. Beim Anzeigen der Dateiinformationen werden die Zeitangaben in die Ortszeit umgerechnet. Die Zeitverschiebung zwischen UTC und der Ortszeit wird in der Systemsteuerung unter Datum und Uhrzeit auf der Registerkarte Zeitzone angegeben.
Windows Vista, 32-Bit-Versionen
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Cdd.dll6.0.6000.2064836,86427. Juli 200702:17x86
Dxgkrnl.sys6.0.6000.20648621,05627. Juli 200701:07x86
Update.mumNicht zutreffend1,78827. Juli 200717:27Nicht zutreffend
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNicht zutreffend69627. Juli 200717:27Nicht zutreffend
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNicht zutreffend8,95827. Juli 200717:27Nicht zutreffend
Windows Vista, 64-Bit-Versionen
Tabelle minimierenTabelle vergrößern
DateinameDateiversionDateigrößeDatumUhrzeitPlattform
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNicht zutreffend70027. Juli 200717:27Nicht zutreffend
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNicht zutreffend9,22327. Juli 200717:31Nicht zutreffend
Cdd.dll6.0.6000.2064847,10427. Juli 200703:13x64
Dxgkrnl.sys6.0.6000.20648878,08027. Juli 200701:19x64
Update.mumNicht zutreffend1,78827. Juli 200717:27Nicht zutreffend

Eigenschaften

Artikel-ID: 940105 - Geändert am: Montag, 10. Oktober 2011 - Version: 5.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Business 64-bit edition
  • Windows Vista Enterprise 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Starter
  • Windows Vista Home Basic
  • Windows Vista Home Premium
  • Windows Vista Business
  • Windows Vista Enterprise
  • Windows Vista Ultimate
Keywords: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbHotfixServer KB940105
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns