Questione : Identificare la memoria disponibile per un'applicazione x86 in x64 Windows

Sto scrivendo un'applicazione che deve funzionare mentre x86 senza riguardo all'applicazione di funzionamento system.

My ospite carica molte immagini sullo schermo e secondo il formato ed il numero delle immagini visualizzate, le richieste di memoria possono diventare abbastanza alte.  Per contribuire ad evitare “gli errori di memoria insufficiente„, ho aggiunto il codice che blocca la quantità di RAM fisico disponibile prima che cominciassi le immagini di caricamento ed usassi quello per sapere al che punto il mio uso di memoria sta raggiungendo i relativi impianti di limit.

This benissimo in un ospite a 32 bits ma non in un host.

If una macchina ha 8GB del RAM, un'applicazione a 32 bits (apparentemente) potessi però usare soltanto circa 1.5GB del RAM, anche se non posso trovare qualsiasi numeri definiti da giustificare che - questa è le mie osservazioni dal programma di testing.

My può pensare semplicemente che ci sia 6GB della memoria disponibili, ma esso gli errori fuori con “la memoria insufficiente„ earilier.


Is là del senso isolare la quantità di memoria che PUÒ essere assegnata ad un'applicazione a 32 bits?

Currently uso quanto segue per identificare la memoria disponibile a richiesta: il

oscura il computer_info come nuovo availableMemory fioco di Devices.ComputerInfo
come ULong = computer_info.AvailablePhysicalMemory

class= del

Risposta : Identificare la memoria disponibile per un'applicazione x86 in x64 Windows

AvailableVirtualMemory questo è il vostro limite. È approssimativamente 2GB del 4GB su 32 sistemi del bit.

Altre soluzioni  
 
programming4us programming4us