O uso de espaço de endereço virtual no desenvolvimento de jogos no Windows Vista

Traduções deste artigo Traduções deste artigo
ID do artigo: 940105 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Essa atualização reduz o uso de espaço de endereço virtual em alguns cenários. Após instalar essa atualização, pode ser menos provável que os aplicativos executados em configurações de hardware que possuem uma grande quantidade de memória de vídeo atinjam os limites de espaço de endereço virtual. Essa atualização pode melhorar o desempenho dos aplicativos em certas configurações de hardware.

Essa atualização está incluída no Windows Vista Service Pack 1 (SP1).

Para obter mais informações sobre como obter o Service Pack do Vista mais recente ou sobre como verificar se você possui o Service Pack do Vista mais recente instalado, clique no número de artigo a seguir para exibi-lo na Base de Dados de Conhecimento Microsoft:
935791 Como obter o service pack mais recente do Windows Vista

Mais informações para usuários avançados

Este artigo discute o uso de espaço de endereço virtual no desenvolvimento de jogos no Windows. Ele descreve os problemas que podem ocorrer ao executar aplicativos em um sistema operacional moderno como o Windows Vista. Este artigo contém informações sobre uma atualização que pode solucionar alguns desses problemas. Para obter mais informações sobre esses problemas, visite o seguinte site da Microsoft:
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
Em um sistema operacional moderno, como o Windows Vista, os aplicativos são executados dentro de seu próprio espaço de endereço virtual particular. Normalmente, o tamanho do espaço de endereço virtual é fixo em 2 GB para aplicativos de 32 bits. A quantidade de espaço de endereço virtual disponível não está relacionada à quantidade de memória física do computador.

Cada alocação de memória, mapeamento de arquivo ou biblioteca que é carregado por um aplicativo consome espaço nesse espaço de endereço virtual. Quando o aplicativo consome todo o seu espaço de endereço virtual, quaisquer operações adicionais desse tipo falham. Embora todos os aplicativos devam ser codificados para lidar com falhas de alocação de memória, muitos aplicativos não se recuperam corretamente desse tipo de falha. Portanto, os programas podem se tornar instáveis ou parar de responder após terem se recuperado dessas falhas.

Jogos e outros aplicativos gráficos existentes freqüentemente alocam memória virtual para uma cópia dos recursos de memória de vídeo utilizados pelo aplicativo. Esse aplicativo usa essa cópia para restaurar a exibição rapidamente se o conteúdo da memória de vídeo for perdido. Por exemplo, o aplicativo usa essa cópia se o usuário pressionar ALT+TAB ou colocar o computador no modo de espera. Normalmente, o tempo de execução do DirectX gerencia a cópia em nome do aplicativo quando o aplicativo cria um recurso gerenciado. Entretanto, o próprio aplicativo também pode gerenciar a cópia. A memória virtual utilizada pela cópia é diretamente proporcional aos recursos de memória de vídeo alocados pelo aplicativo.

Uma GPU (Unidade de processamento gráfico) moderna pode ter 512 MB ou mais de memória de vídeo. Os aplicativos que tentam se beneficiar dessas grandes quantidades de memória de vídeo podem usar uma grande proporção de seu espaço de endereço virtual para uma cópia na memória de seus recursos de vídeo. Em sistemas de 32 bits, esses aplicativos podem consumir todo o espaço de endereço virtual disponível.

Com a introdução do DirectX 10 e do WDDM (Windows Display Driver Model) no Windows Vista, não é mais necessário que um aplicativo mantenha uma cópia de seus recursos na memória do sistema. Em vez disso, o gerenciador de memória de vídeo garante que o conteúdo de cada alocação de memória de vídeo seja mantido através das transições de exibição. Por questões de compatibilidade, o Windows Vista emula a "perda de dispositivo" para as versões do DirectX anteriores ao DirectX 10 a fim de garantir que nenhum comportamento de API visível ao aplicativo seja alterado.

Para virtualizar a memória de vídeo, o gerenciador de memória de vídeo do Windows Vista atribui um intervalo de endereços virtuais a cada recurso de memória de vídeo. Esse intervalo é conceitualmente semelhante à cópia que um aplicativo pode criar. Entretanto, o gerenciador de memória de vídeo gerencia o processo com mais eficiência do que o aplicativo. O gerenciador de memória de vídeo usa o intervalo de endereços virtuais para lidar com as transições ou com a alocação de memória de vídeo em excesso. Entretanto, o intervalo de endereços virtuais normalmente não é utilizado em um sistema com uma grande quantidade de memória de vídeo. Enquanto o intervalo de endereços virtuais não for utilizado, nenhuma memória física será alocada para isso. Por outro lado, a cópia de memória do sistema mantida no modelo de driver antigo é sempre preenchida por completo com memória física.

Se um aplicativo criar sua própria cópia na memória de seus recursos de vídeo, ou se utilizar o DirectX 9 ou uma versão anterior, o espaço de endereço virtual conterá o intervalo virtualizado do gerenciador de memória de vídeo WDDM e a cópia do aplicativo. Os aplicativos que usam APIs gráficas anteriores ao DirectX 10 e GPUs de destino que possuem uma grande quantidade de memória de vídeo podem facilmente esgotar seu espaço de endereço virtual.

Para solucionar esse problema, a Microsoft está alterando a maneira como o gerenciador de memória de vídeo mantém o conteúdo de recursos de memória de vídeo. Essa alteração está sendo feita para que um intervalo de endereços virtuais permanente não tenha de ser usado para cada alocação virtualizada. Com essa nova abordagem, somente as alocações criadas como "bloqueáveis" consomem espaço no espaço de endereço virtual do aplicativo. As alocações que não são criadas como "bloqueáveis" não consomem espaço. Essa abordagem reduz significativamente o espaço de endereço virtual utilizado. Portanto, o aplicativo pode ser executado em configurações com grande quantidade de memória de vídeo sem atingir os limites.

Embora essa abordagem reduza o consumo de endereço virtual, ela não elimina o limite de espaço de endereço virtual de 2 GB, que muitos aplicativos atingem rapidamente por conta própria. Eventualmente, os aplicativos atingirão o limite por outras razões.

Informações da atualização

Os seguintes arquivos estão disponíveis para download no Centro de Download da Microsoft:

Versões de 32 bits do Windows Vista

Recolher esta imagemExpandir esta imagem
Download
Baixe o pacote 940105 agora.

Versões de 64 bits do Windows Vista

Recolher esta imagemExpandir esta imagem
Download
Baixe o pacote 940105 agora.

Para obter mais informações sobre como baixar arquivos de suporte da Microsoft, clique no número de artigo a seguir para exibi-lo na Base de Dados de Conhecimento Microsoft:
119591 Como obter arquivos de suporte da Microsoft nos serviços online
A Microsoft verificou a existência de vírus no arquivo. A Microsoft usou o software de detecção de vírus mais recente disponível na data de postagem do arquivo. O arquivo está armazenado em servidores com segurança avançada, o que ajuda a evitar qualquer alteração não autorizada do arquivo.

Pré-requisitos

Se estiver executando um computador baseado no Windows Vista que possua diversas placas gráficas, recomendamos que você primeiramente instale o hotfix incluído no artigo 936710 da Base de Dados de Conhecimento Microsoft. Para obter mais informações, clique no número de artigo a seguir para exibi-lo na Base de Dados de Conhecimento Microsoft:
936710 Ao executar um aplicativo DirectX 10 em um computador com base no Windows Vista que tem várias placas gráficas, o computador não utiliza a placa gráfica secundária

Necessidade de reinicialização

É necessário reiniciar o computador após aplicar essa atualização.

Informações sobre substituição da atualização

Essa atualização não substitui nenhuma outra lançada anteriormente.

Informações sobre o arquivo

A versão em inglês dessa atualização tem os atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas em UTC (Tempo Universal Coordenado). Ao exibir as informações do arquivo, elas são convertidas para a hora local. Para localizar a diferença entre o UTC e a hora local, use a guia Fuso Horário da opção Data e Hora no Painel de Controle.
Versões de 32 bits do Windows Vista
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataHoraPlataforma
Cdd.dll6.0.6000.2064836.86427-jul-200702:17x86
Dxgkrnl.sys6.0.6000.20648621.05627-jul-200701:07x86
Update.mumNão aplicável1.78827-jul-200717:27Não aplicável
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNão aplicável69627-jul-200717:27Não aplicável
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNão aplicável8.95827-jul-200717:27Não aplicável
Versões de 64 bits do Windows Vista
Recolher esta tabelaExpandir esta tabela
Nome do arquivoVersão do arquivoTamanho do arquivoDataHoraPlataforma
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNão aplicável70027-jul-200717:27Não aplicável
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNão aplicável9.22327-jul-200717:31Não aplicável
Cdd.dll6.0.6000.2064847.10427-jul-200703:13x64
Dxgkrnl.sys6.0.6000.20648878.08027-jul-200701:19x64
Update.mumNão aplicável1.78827-jul-200717:27Não aplicável

Propriedades

ID do artigo: 940105 - Última revisão: terça-feira, 11 de outubro de 2011 - Revisão: 5.0
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbHotfixServer KB940105

Submeter comentários

 

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