Uso del espacio de direcciones virtuales en el desarrollo de juegos de Windows Vista

Seleccione idioma Seleccione idioma
Id. de artículo: 940105 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Esta actualización reduce el uso de espacio de direcciones virtuales en ciertos escenarios. Después de instalar esta actualización, será menos probable que las aplicaciones que ejecutan configuraciones de hardware que tengan una gran cantidad de memoria de vídeo alcancen los límites de espacio de direcciones virtuales. Esta actualización puede mejorar el rendimiento de la aplicación en determinadas configuraciones de hardware.

Esta actualización se incluye en Windows Vista Service Pack 1 (SP1).

Para obtener más información acerca de cómo obtener el Service Pack más reciente de Windows XP o cómo determinar si el Service Pack más reciente de Vista está instalado, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935791 Cómo obtener el Service Pack más reciente para Windows Vista

Más información para usuarios avanzados

En este artículo se describe el uso del espacio de direcciones virtuales en el desarrollo de juegos de Windows. En el artículo se describen los posibles problemas que pueden producirse al ejecutar aplicaciones en un sistema operativo moderno, como Windows Vista. El artículo contiene información acerca de una actualización que puede resolver algunos de estos problemas. Para obtener más información sobre estos problemas, visite el sitio web siguiente de Microsoft:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
En un sistema operativo moderno como Windows Vista, las aplicaciones se ejecutan dentro de su propio espacio de direcciones virtuales privado. Normalmente, el tamaño del espacio de direcciones virtuales está determinado en 2 gigabytes (GB) para las aplicaciones de 32 bits. La cantidad de espacio de direcciones virtuales que está disponible no está relacionada con cuánta memoria física hay en el equipo.

Todas las asignaciones de memoria, asignaciones de archivos o bibliotecas cargadas por una aplicación consume el espacio de este espacio de direcciones virtuales. Cuando la aplicación consume todo su espacio de direcciones virtuales, cualquier espacio adicional producirá un error en la operación. Aunque todas las aplicaciones deberían estar codificadas para controlar los errores de asignación, varias aplicaciones no se recuperan correctamente de dichos errores. Por tanto, los programas pueden volverse inestables o dejar de responder después de recuperarse de tales errores.

Los juegos existentes y otras aplicaciones de gráficos con frecuencia asignan memoria virtual a una copia de los recursos de memoria de vídeo, que utiliza la aplicación. La aplicación utiliza esta copia para restaurar rápidamente la presentación si el contenido de la memoria de vídeo se pierde. Por ejemplo, la aplicación utiliza esta copia si el usuario presiona ALT + TAB o si el usuario pone el equipo en modo de espera. Por lo general, el tiempo de ejecución de DirectX administra la copia en nombre de la aplicación cuando ésta crea un recurso administrado. Sin embargo, una aplicación también puede administrar la misma copia. La memoria virtual que usa la copia es directamente proporcional a los recursos de memoria de vídeo que asigna la aplicación.

Una unidad de procesamiento de gráficos (GPU) moderna puede tener 512 MB o más de memoria de vídeo. Las aplicaciones que intentan sacar el máximo partido a estas grandes cantidades de memoria de vídeo pueden usar una gran proporción de su espacio de direcciones virtuales para una copia en memoria de sus recursos de vídeo. En los sistemas de 32 bits, dichas aplicaciones pueden consumir todo el espacio de direcciones virtuales disponible.

Con la introducción de DirectX 10 y el Modelo de controladores de pantalla de Windows (WDDM) en Windows Vista, ya no es necesario que una aplicación mantenga una copia de sus recursos en la memoria del sistema. En su lugar, el Administrador de memoria de vídeo se asegura de que el contenido de cada asignación de memoria de vídeo se mantiene en las transiciones de presentación. Por motivos de compatibilidad, Windows Vista emula la "pérdida de dispositivo" para las versiones de DirectX que son anteriores a DirectX 10 para asegurarse de que no cambia el comportamiento de la API visible de la aplicación.

Para virtualizar la memoria de vídeo, el Administrador de la memoria de vídeo en Windows Vista asigna un intervalo de direcciones virtuales a todos los recursos de memoria de vídeo. Este intervalo es conceptualmente similar a la copia que podría crear una aplicación. Sin embargo, el Administrador de memoria de vídeo administra el proceso de la forma más eficaz posible para la aplicación. El Administrador de memoria de vídeo usa el intervalo de direcciones virtuales para controlar las transiciones o para sobreasignar la memoria de vídeo. Sin embargo, el intervalo de direcciones virtuales no se utiliza normalmente en un sistema que tiene mucha memoria de vídeo. Mientras permanezca sin utilizar este intervalo de direcciones virtuales, no se le asigna ninguna memoria física. Por el contrario, se garantiza que la copia de la memoria del sistema que se mantiene en el modelo de controlador más antiguo se rellena completamente con memoria física.

Si una aplicación crea su propia copia en memoria de sus recursos de vídeo, o la aplicación utiliza DirecX 9 o una versión anterior, el espacio de direcciones virtuales contiene un intervalo virtualizado del Administrador de memoria de vídeo WDDM y la copia de aplicación. Las aplicaciones que utilizan API gráficas anteriores a DirectX 10 y las GPU de destino que tienen grandes cantidades de memoria de vídeo pueden agotar fácilmente su espacio de direcciones virtuales.

Para solucionar este problema, Microsoft está cambiando la forma en que el Administrador de memoria de vídeo mantiene el contenido de los recursos de dicha memoria. Este cambio se está realizando para que un intervalo de direcciones virtuales permanente no tenga que usarse para cada asignación virtualizada. Con el nuevo enfoque, sólo las asignaciones que se crean como "bloqueables" consumen espacio en el espacio de direcciones virtuales de la aplicación. Las asignaciones que no se crean como "bloqueables" no consumen espacio. Este enfoque reduce de manera significativa el espacio de direcciones virtuales utilizado. Por tanto, la aplicación puede ejecutarse en grandes configuraciones de memoria de vídeo grandes sin llegar a los límites.

Aunque este enfoque reduce el consumo de direcciones virtuales, no elimina el límite de espacio de direcciones virtuales de 2 GB al que muchas aplicaciones se acercan rápidamente por sí mismas. Con el tiempo, las aplicaciones alcanzarán el límite por otros motivos.

Información de la actualización

Los archivos siguientes se pueden descargar desde el Centro de descarga de Microsoft:

Windows Vista, versiones de 32 bits

Contraer esta imagenAmpliar esta imagen
Descargar
Descarga ahora el paquete 940105.

Windows Vista, versiones de 64 bits

Contraer esta imagenAmpliar esta imagen
Descargar
Descarga ahora el paquete 940105.

Para obtener más información acerca de cómo descargar los archivos de soporte técnico de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
119591 Cómo obtener archivos de soporte técnico de Microsoft desde los servicios en línea
Microsoft ha analizado este archivo en busca de virus. con el software de detección de virus más reciente disponible en la fecha de publicación. Asimismo, el archivo se almacenó en servidores seguros que ayudan a prevenir que se realicen cambios no autorizados.

Requisitos previos

Si está ejecutando un equipo basado en Windows Vista que tiene varias tarjetas gráficas, le recomendamos que primero instale la revisión que se incluye en el artículo de Microsoft Knowledge Base 936710. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
936710 Cuando se ejecuta una aplicación de DirectX 10 en un equipo basado en Windows Vista que tiene varias tarjetas de gráficos, el equipo no utiliza la tarjeta gráfica secundaria

Requisito de reinicio

Una vez aplicada esta actualización, debe reiniciar el equipo.

Información de reemplazo de la actualización

Esta actualización no sustituye a ninguna actualización publicada previamente.

Información sobre archivos

La versión en inglés de esta actualización tiene los atributos de archivo mostrados (u otros posteriores) en la siguiente tabla. Las fechas y las horas de estos archivos se muestran según la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para ver la diferencia entre la hora UTC y la hora local, utilice la pestaña Zona horaria del elemento Fecha y hora del Panel de control.
Windows Vista, versiones de 32 bits
Contraer esta tablaAmpliar esta tabla
File nameFile versionFile sizeDateTimePlatform
Cdd.dll6.0.6000.2064836,86427-Jul-200702:17x86
Dxgkrnl.sys6.0.6000.20648621,05627-Jul-200701:07x86
Update.mumNot Applicable1,78827-Jul-200717:27Not Applicable
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNot Applicable69627-Jul-200717:27Not Applicable
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNot Applicable8,95827-Jul-200717:27Not Applicable
Windows Vista, versiones de 64 bits
Contraer esta tablaAmpliar esta tabla
File nameFile versionFile sizeDateTimePlatform
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNot Applicable70027-Jul-200717:27Not Applicable
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNot Applicable9,22327-Jul-200717:31Not Applicable
Cdd.dll6.0.6000.2064847,10427-Jul-200703:13x64
Dxgkrnl.sys6.0.6000.20648878,08027-Jul-200701:19x64
Update.mumNot Applicable1,78827-Jul-200717:27Not Applicable

Propiedades

Id. de artículo: 940105 - Última revisión: lunes, 10 de octubre de 2011 - Versión: 5.0
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbHotfixServer KB940105

Enviar comentarios

 

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