Utilisation de l'espace d'adressage virtuel dans le développement de jeux Windows Vista

Traductions disponibles Traductions disponibles
Numéro d'article: 940105 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Résumé

Cette mise à jour réduit l'utilisation de l'espace d'adressage virtuel dans certains scénarios. Après l'installation de cette mise à jour, les applications qui s'exécutent dans des configurations matérielles comportant une grande quantité de mémoire vidéo peuvent être moins susceptibles d'atteindre les limites de l'espace d'adressage virtuel. Cette mise à jour peut améliorer les performances de l'application dans certaines configurations matérielles.

Cette mise à jour est comprise dans Windows Vista Service Pack 1 (SP1).

Pour plus d'informations sur la procédure à suivre pour obtenir le dernier Service Pack Windows Vista ou pour vérifier que la dernière version du Service Pack Windows Vista est installée, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
935791 Comment faire pour obtenir le dernier Service Pack Windows Vista

Informations supplémentaires pour les utilisateurs expérimentés

Cet article traite de l'utilisation de l'espace d'adressage virtuel dans le développement de jeux Windows. Il décrit les problèmes qui peuvent se produire lorsque vous exécutez des applications dans un système d'exploitation récent, tel que Windows Vista. L'article contient également des informations sur une mise à jour susceptible de résoudre certains de ces problèmes. Pour plus d'informations sur ces problèmes, reportez-vous au site Web de Microsoft à l'adresse suivante :
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
Sur les systèmes d'exploitation récents tels que Windows Vista, les applications s'exécutent dans leur propre espace d'adressage virtuel. Généralement, la taille de l'espace d'adressage virtuel est fixée à 2 gigaoctets (Go) pour les applications 32 bits. La quantité d'espace d'adressage virtuel disponible n'est pas liée à la quantité de mémoire physique disponible sur l'ordinateur.

Chaque allocation de mémoire, mappage de fichier ou bibliothèque chargée par une application consomme de l'espace d'adressage virtuel. Lorsqu'une application consomme la totalité de son espace d'adressage virtuel, toute autre opération de ce genre échoue. Bien que toutes les applications soient en principe codées de façon à gérer les échecs d'allocation mémoire, de nombreuses applications ne récupèrent pas correctement après ce type d'échec. Les programmes peuvent donc devenir instables ou cesser de répondre après avoir récupéré de ce type d'échec.

Les jeux et autres applications graphiques existantes allouent fréquemment de la mémoire virtuelle pour effectuer une copie des ressources mémoire vidéo utilisées par l'application. L'application utilise cette copie pour restaurer rapidement l'affichage si le contenu de la mémoire vidéo est perdu. Par exemple, l'application utilise cette copie si l'utilisateur appuie sur ALT+TAB ou s'il met l'ordinateur en veille. Généralement, l'exécution de DirectX gère la copie de la part de l'application lorsque celle-ci crée une ressource managée. Toutefois, l'application peut également gérer la copie elle-même. La mémoire virtuelle que la copie utilise est directement proportionnelle aux ressources mémoire vidéo allouées par l'application.

Les unités de traitement graphiques (GPU, Graphics Processing Unit) récentes peuvent disposer de 512 Mo ou plus de mémoire vidéo. Les applications qui tentent de tirer profit de telles quantités de mémoire vidéo peuvent utiliser une grande proportion de leur espace d'adressage virtuel pour une copie en mémoire de leurs ressources vidéo. Sur les systèmes 32 bits, de telles applications peuvent consommer la totalité de l'espace d'adressage virtuel disponible.

Avec l'introduction de DirectX 10 et du modèle WDDM (Windows Display Driver Model) dans Windows Vista, l'application n'a plus besoin de conserver une copie de ses ressources dans la mémoire système. Le gestionnaire de mémoire vidéo garantit que le contenu de chaque allocation de mémoire vidéo est conservé lors des transitions d'affichage. Pour des raisons de compatibilité, Windows Vista émule une « perte de périphérique » pour les versions antérieures à DirectX 10 afin de s'assurer qu'aucun comportement de l'API visible par l'application ne change.

Pour virtualiser la mémoire vidéo, le gestionnaire de mémoire vidéo de Windows Vista attribue une plage d'adresses virtuelles à chaque ressource de mémoire vidéo. Cette plage est conceptuellement similaire à la copie qu'une application pourrait créer. Toutefois, le gestionnaire de mémoire vidéo gère le processus plus efficacement que ne le ferait l'application. Le gestionnaire de mémoire vidéo utilise la plage d'adresses virtuelles pour gérer les transitions ou le surengagement de la mémoire vidéo. Cependant, la plage d'adresses virtuelles est généralement inutilisée sur un système disposant d'une capacité importante de mémoire vidéo. Tant que cette plage d'adresses virtuelles reste inutilisée, aucune mémoire physique ne lui est allouée. À l'inverse, la copie de la mémoire système qui est conservée dans le modèle de pilote le plus ancien est certain d'être entièrement rempli avec la mémoire physique.

Si une application crée sa propre copie en mémoire de ses ressources vidéo, ou si l'application utilise DirectX 9 ou une version antérieure, l'espace d'adressage virtuel contient la copie de l'application et la plage virtualisée du gestionnaire de mémoire vidéo WDDM. Les applications qui utilisent des API graphiques antérieures à DirectX 10 et qui ciblent des unités de traitement graphiques disposant d'une grande capacité de mémoire vidéo peuvent facilement épuiser leur espace d'adressage virtuel.

Pour corriger ce problème, Microsoft modifie la façon dont le gestionnaire de mémoire vidéo conserve le contenu des ressources de mémoire vidéo. Cette modification permet de ne pas utiliser une plage d'adresses virtuelles permanente pour chaque allocation virtualisée. Grâce à cette nouvelle approche, seules les allocations « verrouillables » consomment de l'espace dans l'espace d'adressage virtuel de l'application. Les allocations « non verrouillables » ne consomment pas d'espace. Cette approche réduit de façon significative l'espace d'adressage virtuel utilisée. L'application peut donc être exécutée sur des configurations de mémoire vidéo importantes sans atteindre les limites.

Bien que cette approche réduise la consommation d'espace d'adressage virtuel, elle n'empêche pas de nombreuses applications d'approcher la taille limite de 2 Go. Certaines applications atteignent également la taille limite pour d'autres raisons.

Informations sur la mise à jour

Vous pouvez télécharger les fichiers suivants à partir du Centre de téléchargement Microsoft :

Windows Vista, versions 32 bits

Réduire cette imageAgrandir cette image
Télécharger
Télécharger le package 940105 maintenant.

Windows Vista, versions 64 bits

Réduire cette imageAgrandir cette image
Télécharger
Télécharger le package 940105 maintenant.

Pour plus d'informations sur la façon de télécharger des fichiers du Support technique Microsoft, cliquez sur le numéro ci-dessous pour afficher l'article correspondant de la Base de connaissances Microsoft.
119591 Comment faire pour obtenir des fichiers de support technique Microsoft auprès des services en ligne
Microsoft a analysé ce fichier en vue de détecter la présence de virus. Microsoft a utilisé les logiciels de détection de virus les plus récents disponibles à la date de publication de ce fichier. Le fichier est conservé sur des serveurs sécurisés, empêchant toute modification non autorisée du fichier.

Configuration requise

Si vous utilisez un ordinateur Windows Vista comportant plusieurs cartes graphiques, nous vous conseillons d'installer d'abord le correctif inclus dans l'article 936710 de la Base de connaissances. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
936710 Lorsqu'une application DirectX 10 s'exécute sur un ordinateur Windows Vista doté de plusieurs cartes graphiques, ce dernier n'utilise pas la carte graphique secondaire

Nécessité d'un redémarrage

Vous devez redémarrer l'ordinateur après avoir appliqué cette mise à jour.

Informations sur le remplacement de mise à jour

Cette mise à jour ne remplace aucune mise à jour déjà publiée.

Informations sur les fichiers

La version anglaise de cette mise à jour dispose des attributs de fichier répertoriés dans le tableau suivant ou ceux d'une version ultérieure. Les date et heure de création de ces fichiers sont exprimées en temps universel coordonné (UTC). Lorsque vous affichez les informations des fichiers, les données sont converties en heure locale. Pour connaître le décalage entre l'heure GMT et l'heure locale, utilisez l'onglet Fuseau horaire dans l'élément Date et heure du Panneau de configuration.
Windows Vista, versions 32 bits
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlateforme
Cdd.dll6.0.6000.2064836 86427-juil-200702:17x86
Dxgkrnl.sys6.0.6000.20648621 05627-juil-200701:07x86
Update.mumNon applicable1 78827-juil-200717:27Non applicable
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNon applicable69627-juil-200717:27Non applicable
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNon applicable8 95827-juil-200717:27Non applicable
Windows Vista, versions 64 bits
Réduire ce tableauAgrandir ce tableau
Nom de fichierVersion du fichierTaille du fichierDateHeurePlateforme
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNon applicable70027-juil-200717:27Non applicable
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNon applicable9 22327-juil-200717:31Non applicable
Cdd.dll6.0.6000.2064847 10427-juil-200703:13x64
Dxgkrnl.sys6.0.6000.20648878 08027-juil-200701:19x64
Update.mumNon applicable1 78827-juil-200717:27Non applicable

Propriétés

Numéro d'article: 940105 - Dernière mise à jour: lundi 10 octobre 2011 - Version: 5.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Windows Vista Édition Familiale Basique 64 bits
  • Windows Vista Édition Familiale Premium 64 bits
  • Windows Vista Professionnel 64 bits
  • Windows Vista Entreprise 64 bits
  • Windows Vista Édition Intégrale 64 bits
  • Windows Vista Starter
  • Windows Vista Édition Familiale Basique
  • Windows Vista Édition Familiale Premium
  • Windows Vista Professionnel
  • Windows Vista Entreprise
  • Windows Vista Édition Intégrale
Mots-clés : 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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