Gebruik van virtuele adresruimte bij de ontwikkeling van spellen in Windows Vista

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 940105 - Bekijk de producten waarop dit artikel van toepassing is.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Samenvatting

Deze update resulteert in bepaalde gevallen tot een verminderd gebruik van virtuele adresruimte. Nadat u deze update hebt geïnstalleerd, overschrijden toepassingen die worden uitgevoerd op hardwareconfiguraties met een grote hoeveelheid videogeheugen, minder snel de limieten voor virtuele adresruimte. Met deze update verbetert u de prestaties van de toepassing op bepaalde hardwareconfiguraties.

Deze update is opgenomen in Windows Vista Service Pack 1 (SP1).

Als u meer informatie wilt over het ophalen van het meest recente servicepack voor Windows Vista of over het controleren of u het meest recente servicepack van Vista hebt geïnstalleerd, klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
935791 Het meest recente servicepack voor Windows Vista ophalen

Extra informatie voor ervaren gebruikers

In dit artikel wordt het gebruik beschreven van virtuele adresruimte bij de ontwikkeling van games in Windows. Het artikel bevat een beschrijving van problemen die zich kunnen voordoen wanneer u toepassingen uitvoert in een modern besturingssysteem, zoals Windows Vista. Het artikel bevat informatie over een update waarmee u enkele van deze problemen kunt oplossen. Meer informatie over deze problemen kunt u vinden op de volgende Microsoft-website:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
In een modern besturingssysteem, zoals Windows Vista, worden toepassingen uitgevoerd in een eigen, persoonlijke en virtuele adresruimte. De grootte van deze virtuele adresruimte is doorgaans 2 GB voor 32-bits toepassingen. Hoeveel virtuele adresruimte beschikbaar is, is niet afhankelijk van de hoeveelheid fysiek geheugen op de computer.

Voor elke geheugentoewijzing, bestandstoewijzing of het laden van een bibliotheek door een toepassing wordt een deel van deze virtuele adresruimte gebruikt. Wanneer de toepassing alle persoonlijke virtuele adresruimte verbruikt heeft, zullen alle volgende bewerkingen mislukken. Hoewel fouten met geheugentoewijzing in alle toepassingen automatisch worden opgelost, worden veel toepassingen na dergelijke fouten niet goed hersteld. Deze toepassingen kunnen dan niet worden gestopt of reageren niet meer nadat de fouten met geheugentoewijzing zijn opgelost.

Bestaande games en andere grafische toepassingen wijzen vaak virtueel geheugen toe aan een kopie van de videogeheugenbronnen die door de toepassing worden gebruikt. De toepassing gebruikt deze kopie om snel de weergave te herstellen op het moment dat de inhoud van het videogeheugen verloren gaat. De toepassing gebruikt deze kopie bijvoorbeeld wanneer de gebruiker op Alt+Tab drukt of de computer in de stand-bystand zet. Meestal wordt de kopie voor de toepassing beheerd door DirectX-runtime wanneer de toepassing een beheerde bron maakt. Maar een toepassing kan de kopie ook zelf beheren. Het virtuele geheugen dat voor de kopie wordt gebruikt, is recht evenredig met de videogeheugenbronnen die door de toepassing worden toegewezen.

Een moderne GPU (Graphics Processing Unit) kan 512 MB of meer videogeheugen hebben. Toepassingen die willen profiteren van deze grote hoeveelheden videogeheugen, kunnen een groot deel van hun virtuele adresruimte gebruiken voor een kopie van hun videobronnen in het geheugen. Op 32-bits systemen kunnen dergelijke toepassingen alle beschikbare virtuele adresruimte verbruiken.

Met de introductie van DirectX 10 en WDDM (Windows Display Driver Model) in Windows Vista is het niet meer nodig dat voor een toepassing een kopie van de eigen bronnen in het systeemgeheugen wordt bewaard. In plaats daarvan wordt er vanuit videogeheugenbeheer op toegezien dat de inhoud van elke videogeheugentoewijzing voor alle beeldovergangen behouden blijft. In Windows Vista worden ten behoeve van de compatibiliteit 'verloren apparaten' geëmuleerd voor oudere DirectX-versies dan DirectX 10, zodat de in toepassingen zichtbare API-werking niet verandert.

Voor het genereren van virtueel videogeheugen wordt vanuit videogeheugenbeheer in Windows Vista een virtueel adresbereik toegewezen aan elke videogeheugenbron. Dit bereik is in essentie gelijk aan de kopie die door een toepassing wordt gemaakt. In videogeheugenbeheer wordt het proces echter efficiënter beheerd dan in de toepassing. In videogeheugenbeheer wordt het virtuele adresbereik gebruikt voor de verwerking van overgangen of te veel toegewezen videogeheugen. Het virtuele adresbereik wordt meestal niet gebruikt op een systeem met veel videogeheugen. Zolang dit virtuele adresbereik niet wordt gebruikt, wordt daaraan geen fysiek geheugen toegewezen. Dit in tegenstelling tot de kopie in het systeemgeheugen uit het oude stuurprogrammamodel, die volledig met fysiek geheugen is gevuld.

Wanneer een toepassing zelf een kopie van de eigen videobronnen in het geheugen maakt, of als de toepassing DirectX 9 of een oudere versie gebruikt, bevat de virtuele adresruimte het virtuele adresbereik van WDDM-videogeheugenbeheer en de kopie van de toepassing. Toepassingen die GDI API's uit oudere versies van DirectX 10 gebruiken en die gericht zijn op GPU's met grote hoeveelheden videogeheugen, kunnen hun virtuele adresruimte gemakkelijk volledig verbruiken.

Microsoft wil dit probleem oplossen door de manier te wijzigen waarop de inhoud van videogeheugenbronnen in videogeheugenbeheer wordt beheerd. Door deze wijziging hoeft niet voor elke virtuele toewijzing een permanent virtueel adresbereik te worden gebruikt. Dankzij deze nieuwe benadering, verbruiken alleen 'vergrendelbare' toewijzingen ruimte in de virtuele adresruimte van de toepassing. Toewijzingen die niet 'vergrendelbaar' zijn, verbruiken geen ruimte. Door deze benadering wordt aanzienlijk minder virtuele adresruimte gebruikt. De toepassing kan daardoor worden uitgevoerd in grote videogeheugenconfiguraties zonder dat ooit een grenswaarde wordt bereikt.

Hoewel met deze benadering minder virtuele adresruimte wordt verbruikt, blijft hierbij wel de virtuele adresruimtelimiet van 2 GB bestaan die veel toepassingen zelf al snel bereiken. De toepassingen kunnen deze limiet ook om andere redenen overschrijden.

Informatie over de update

U kunt de volgende bestanden downloaden van het Microsoft Downloadcentrum:

Windows Vista, 32-bits versies

Deze afbeelding samenvouwenDeze afbeelding uitklappen
 Downloaden
Het pakket 940105 nu downloaden.

Windows Vista, 64-bits versies

Deze afbeelding samenvouwenDeze afbeelding uitklappen
 Downloaden
Het pakket 940105 nu downloaden.

Voor meer informatie over het downloaden van Microsoft-ondersteuningsbestanden klikt u op het volgende artikelnummer in de Microsoft Knowledge Base:
119591 Microsoft-ondersteuningsbestanden via onlineservices downloaden
Microsoft heeft dit bestand op virussen gecontroleerd. Hiervoor is de meest actuele software voor virusdetectie gebruikt die beschikbaar was op de datum dat het bestand werd gepubliceerd. Het bestand is opgeslagen op beveiligde servers die onbevoegde wijzigingen aan het bestand helpen voorkomen.

Vereisten

Als u een Windows Vista-computer met meerdere grafische kaarten hebt, kunt u het beste eerst de hotfix installeren die is opgenomen in Microsoft Knowledge Base-artikel 936710. Klik voor meer informatie op het volgende artikelnummer in de Microsoft Knowledge Base:
936710 Wanneer een DirectX 10-toepassing wordt uitgevoerd op een Windows Vista-computer met meerdere grafische kaarten, maakt die computer geen gebruik van de secundaire grafische kaart

Computer opnieuw opstarten

Nadat u deze update hebt toegepast, moet u de computer opnieuw opstarten.

Informatie over vervanging van updates

Deze update vervangt geen eerder uitgebrachte update.

Informatie over bestanden

De Engelse versie van deze update heeft de bestandskenmerken die in de volgende tabel worden weergegeven (of recentere kenmerken). De datums en tijden voor deze bestanden worden weergegeven in UTC-notatie (Coordinated Universal Time). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Als u het verschil tussen UTC en lokale tijd wilt bepalen, gebruikt u het tabblad Tijdzone van de optie Datum en tijd in het Configuratiescherm.
Windows Vista, 32-bits versies
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Cdd.dll6.0.6000.2064836.86427-jul-200702:17x86
Dxgkrnl.sys6.0.6000.20648621.05627-jul-200701:07x86
Update.mumNiet van toepassing1.78827-jul-200717:27Niet van toepassing
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNiet van toepassing69627-jul-200717:27Niet van toepassing
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNiet van toepassing8.95827-jul-200717:27Niet van toepassing
Windows Vista, 64-bits versies
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNiet van toepassing70027-jul-200717:27Niet van toepassing
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNiet van toepassing9.22327-jul-200717:31Niet van toepassing
Cdd.dll6.0.6000.2064847.10427-jul-200703:13x64
Dxgkrnl.sys6.0.6000.20648878.08027-jul-200701:19x64
Update.mumNiet van toepassing1.78827-jul-200717:27Niet van toepassing

Eigenschappen

Artikel ID: 940105 - Laatste beoordeling: dinsdag 11 oktober 2011 - Wijziging: 5.0
De informatie in dit artikel is van toepassing op:
  • 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
Trefwoorden: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbHotfixServer KB940105

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com