Utilizzo dello spazio di indirizzamento virtuale nello sviluppo di giochi per Windows Vista

Traduzione articoli Traduzione articoli
Identificativo articolo: 940105 - Visualizza i prodotti a cui si riferisce l?articolo.
-

Per continuare a ricevere gli aggiornamenti della protezione per Windows, assicurarsi di eseguire Windows Vista con Service Pack 2 (SP2). Per ulteriori informazioni, fare riferimento a questa pagina Web Microsoft: Per alcune versioni di Windows il servizio di supporto non Ŕ pi¨ disponibile

Espandi tutto | Chiudi tutto

In questa pagina

Sommario

Questo aggiornamento consente di ridurre l'utilizzo dello spazio degli indirizzi virtuali in alcuni scenari. Dopo avere installato questo aggiornamento, Ŕ meno probabile che le applicazioni in esecuzione in configurazioni hardware che dispongono di una grande quantitÓ di memoria video raggiungano i limiti di spazio degli indirizzi virtuali. Questo aggiornamento consente di migliorare le prestazioni delle applicazioni in alcune configurazioni hardware.

Questo aggiornamento Ŕ incluso anche in Windows Vista Service Pack 1 (SP1).

Per ulteriori informazioni su come ottenere la versione pi¨ recente del Service Pack per Vista o su come verificare che sia installato il Service Pack pi¨ aggiornato, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
935791 Come ottenere il service pack pi¨ recente per Windows Vista

Ulteriori informazioni per utenti avanzati

In questo articolo viene descritto l'utilizzo dello spazio degli indirizzi virtuali nello sviluppo di giochi per Windows. Vengono inoltre descritti i problemi che possono verificarsi quando si eseguono applicazioni in un moderno sistema operativo come Windows Vista. In questo articolo sono inoltre contenute informazioni su un aggiornamento che potrebbe risolvere alcuni di questi problemi. Per ulteriori informazioni su questi problemi, visitare il seguente sito Web Microsoft (informazioni in lingua inglese):
http://www.microsoft.com/whdc/device/display/WDDM_VA.mspx
In un moderno sistema operativo come Windows Vista, le applicazioni vengono eseguite in uno spazio degli indirizzi virtuali dedicato. In genere per le applicazioni a 32 bit la dimensione dello spazio degli indirizzi Ŕ fissata in 2 gigabyte (GB). La quantitÓ di spazio degli indirizzi disponibile non Ŕ correlata alla quantitÓ di memoria fisica presente nel computer.

L'allocazione della memoria, il mapping dei file o le librerie caricate da un'applicazione utilizzano parte di questo spazio degli indirizzi virtuali. Quando l'applicazione avrÓ utilizzato tutto lo spazio degli indirizzi virtuali a essa allocato, qualsiasi operazione aggiuntiva non verrÓ completata. Anche se nel codice di tutte le applicazioni dovrebbe essere specificata una modalitÓ di gestione degli errori di allocazione della memoria, molte applicazioni non vengono ripristinate correttamente quando si verificano tali errori. I programmi possono quindi diventare instabili o bloccarsi dopo il ripristino da tali errori.

Per giochi e altre applicazioni di grafica esistenti viene spesso allocata memoria virtuale per una copia delle risorse di memoria video utilizzate dall'applicazione. Questa copia viene utilizzata dall'applicazione per ripristinare velocemente la visualizzazione in caso di perdita del contenuto della memoria video. Ad esempio, questa copia viene utilizzata dall'applicazione se l'utente preme ALT+TAB o mette il computer in standby. In genere, la copia viene gestita da DirectX Runtime per conto dell'applicazione quando quest'ultima crea una risorsa gestita, tuttavia tale copia pu˛ essere gestita dalla stessa applicazione. La memoria virtuale utilizzata dalla copia Ŕ direttamente proporzionale alle risorse di memoria video allocate dall'applicazione.

Una moderna GPU pu˛ avere una memoria video minima di 512 MB. Le applicazioni che tentano di usufruire di queste grandi quantitÓ di memoria video possono utilizzare un'ampia percentuale del proprio spazio degli indirizzi virtuali per una copia in memoria delle risorse video. Nei sistemi a 32 bit tali applicazioni possono utilizzare tutto lo spazio degli indirizzi virtuali disponibile.

Con l'introduzione di DirectX 10 e del modello WDDM (Windows Display Driver Model) in Windows Vista, non Ŕ pi¨ necessario che un'applicazione mantenga una copia delle proprie risorse nella memoria di sistema. Al contrario, la funzionalitÓ di gestione della memoria video assicura il mantenimento del contenuto di ogni allocazione di memoria video durante le transizioni della visualizzazione. Ai fini della compatibilitÓ, in Windows Vista viene emulato il "dispositivo perso" per le versioni di DirectX precedenti a DirectX 10, in modo da assicurare che il comportamento delle API visibili all'applicazione rimanga inalterato.

Per virtualizzare la memoria video, la funzionalitÓ di gestione della memoria video di Windows Vista assegna un intervallo di indirizzi virtuali a ogni risorsa di memoria video. Questo intervallo Ŕ simile, dal punto di vista concettuale, alla copia creata dall'applicazione, tuttavia la funzionalitÓ di gestione della memoria video controlla il processo con maggiore efficienza rispetto all'applicazione. La funzionalitÓ di gestione della memoria video utilizza l'intervallo di indirizzi virtuali per gestire le transizioni o l'impegno eccessivo della memoria video, tuttavia tale intervallo di indirizzi virtuali non viene solitamente utilizzato in un sistema che dispone di una quantitÓ elevata di memoria video. FinchÚ questo intervallo di indirizzi virtuali rimane inutilizzato, non viene allocata alcuna memoria fisica a tale scopo. Al contrario, la copia della memoria di sistema gestita nel precedente modello di driver viene completamente popolata con la memoria fisica.

Se in un'applicazione viene creata una propria copia in memoria delle risorse video o se nell'applicazione viene utilizzato DirectX 9 o versione precedente, lo spazio degli indirizzi virtuali conterrÓ l'intervallo virtualizzato del gestore di memoria video WDDM e la copia dell'applicazione. Le applicazioni che utilizzano API grafiche precedenti a DirectX 10 e che sono destinate a GPU con grandi quantitÓ di memoria video possono facilmente esaurire il proprio spazio degli indirizzi virtuali.

Per risolvere questo problema, Microsoft sta modificando il modo in cui la funzionalitÓ di gestione della memoria video gestisce il contenuto delle risorse di memoria video. Questa modifica farÓ sý che l'intervallo di indirizzi virtuali permanenti non venga utilizzato per ogni allocazione virtualizzata. Con questo nuovo approccio solo le allocazioni create come "bloccabili" consumeranno parte dello spazio degli indirizzi virtuali dell'applicazione. Al contrario, le allocazioni che non vengono create come "bloccabili" non consumeranno spazio. Questo approccio consente di ridurre in modo significativo lo spazio degli indirizzi virtuali utilizzato, di conseguenza l'applicazione potrÓ essere eseguita in configurazioni di memoria video estesa senza raggiungere i limiti.

Anche se questo approccio consente di ridurre la quantitÓ di indirizzi virtuali utilizzata, non elimina il limite di 2 GB dello spazio degli indirizzi che molte applicazioni raggiungono comunque rapidamente. Questo limite verrÓ infatti raggiunto delle applicazioni per altri motivi.

Informazioni sull'aggiornamento

I seguenti file sono disponibili per il download nell'Area Download Microsoft:

Windows Vista, versioni a 32 bit

Download del pacchetto 940105

Windows Vista, versioni a 64 bit

Download del pacchetto 940105

Per ulteriori informazioni sul download dei file di supporto Microsoft, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
119591 Come ottenere file di supporto Microsoft dai servizi online
Il file Ŕ stato controllato e non contiene virus. Microsoft ha utilizzato il software antivirus pi¨ recente disponibile al momento della data di pubblicazione del file. Il file viene salvato su server con un livello di protezione avanzata che impedisce modifiche non autorizzate.

Prerequisiti

Se si utilizza un computer basato su Windows Vista con pi¨ schede grafiche, si consiglia di installare innanzitutto l'hotfix incluso nell'articolo della Microsoft Knowledge Base 936710. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
936710 Mancato utilizzo della scheda grafica secondaria quando un'applicazione DirectX 10 viene eseguita in un computer basato su Windows Vista con pi¨ schede grafiche

Richiesta di riavvio

╚ necessario riavviare il computer una volta applicato l'aggiornamento.

Informazioni sulla sostituzione dell'aggiornamento

Questo aggiornamento non sostituisce alcun altro aggiornamento precedentemente rilasciato.

Informazioni sui file

La versione in lingua inglese di questo aggiornamento presenta gli attributi di file (o attributi successivi) elencati nella tabella riportata di seguito. Date e ore elencate di seguito sono espresse in UTC (Universal Time Coordinate). Quando si visualizzano le informazioni sui file, l'ora viene convertita in ora locale. Per calcolare la differenza tra l'ora UTC e quella locale, utilizzare la scheda Fuso orario dello strumento Data e ora del Pannello di controllo.
Windows Vista, versioni a 32 bit
Riduci questa tabellaEspandi questa tabella
Nome fileVersione fileDimensioni fileDataOraPiattaforma
Cdd.dll6.0.6000.2064836.86427/07/200702.17x86
Dxgkrnl.sys6.0.6000.20648621.05627/07/200701.07x86
Update.mumNon applicabile1.78827/07/200717.27Non applicabile
X86_5e2dac6229b5926b0c74da835150f1a5_31bf3856ad364e35_6.0.6000.20648_none_42a29c9b7959cc08.manifestNon applicabile69627/07/200717.27Non applicabile
X86_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_aa48b77dff9d11aa.manifestNon applicabile8.95827/07/200717.27Non applicabile

Windows Vista, versioni a 64 bit
Riduci questa tabellaEspandi questa tabella
Nome fileVersione fileDimensioni fileDataOraPiattaforma
Amd64_ce07f9e62de28926f56e50610267ed82_31bf3856ad364e35_6.0.6000.20648_none_ff82e7b15cf29216.manifestNon applicabile70027/07/200717.27Non applicabile
Amd64_microsoft-windows-lddmcore_31bf3856ad364e35_6.0.6000.20648_none_06675301b7fa82e0.manifestNon applicabile9.22327/07/200717.31Non applicabile
Cdd.dll6.0.6000.2064847.10427/07/200703.13x64
Dxgkrnl.sys6.0.6000.20648878.08027/07/200701.19x64
Update.mumNon applicabile1.78827/07/200717.27Non applicabile

ProprietÓ

Identificativo articolo: 940105 - Ultima modifica: lunedý 10 ottobre 2011 - Revisione: 5.0
Le informazioni in questo articolo si applicano 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
Chiavi:á
kbvistasp1fix kbresolve atdownload kbfix kbexpertiseadvanced kbwinvistapostrtmfix kbqfe kbhotfixserver KB940105
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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