Der maximale Adressraum für ein 32-Bit-Programm wie QuoVadis ist maxmimal 4 GB.
In einem 32-Bit Betriebssystem kann maximal 2GB, mit viel Gepfriemel 3GB genutzt werden.
In einem 64-Bit Betriebsystem (das sehr viele der Anwender bereits benutzen) sind es die oben erwähnten 4GB. Standardmässig sind 2GB verfügbar.
Durch ein Flag (siehe weiter unten) kann die Anwendung bis zu 4 GB nutzen.
Jetzt kommt der Haken: alle Komponenten müssen damit dem vielen Adressraum zurechtkommen Das ist nicht der Fall (siehe weiter unten).
Hier etwas Dokumentation aus dem Weltnetz:
IMAGE_FILE_LARGE_ADDRESS_AWARE
http://msdn.microsoft.com/en-u…b613473%28v=vs.85%29.aspx
VirtualAlloc usually returns low addresses before high addresses. Therefore, your process may not use very high addresses unless it allocates a lot of memory or has a fragmented virtual address space. To force allocations to allocate from higher addresses before lower addresses for testing purposes, specify MEM_TOP_DOWN when calling VirtualAlloc or set the following registry value to 0x100000:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Memory Management\AllocationPreference
Hier gibts ein Tool zum Setzen/Löschen von diesem Flag:
<https://docs.google.com/file/d…NhYzY4NDBmNGQw/edit?hl=en>
editbin.exe /LARGEADDRESSAWARE \Path\To\The\Program.exe
dumpbin.exe /headers \Path\To\The\Program.exe
Das habe ich mit QuoVadis ausprobiert. Vorher qv60.exe sichern.
Quo Vadis kann mehr Speicher bekommen. Gut.
Zitat von Verfügbarer Speicher (Standard qv60.exe)Alles anzeigen
-------------------------------------
FlushMemory: WorkingSet64=2.240 kb
----------------------------------------------------
Cache info:
------------------------------------------------------
Graphics memory:
--------------------------------------------------------
Systeminformation:
OS: Microsoft Windows 7 Professional , 64-bit, 6.1.7601.65536
TotalPhysicalMemory: 12.277.809.152 bytes
AvailablePhysicalMemory: 7.975.272.448 bytes
TotalVirtualMemory: 2.147.352.576 bytes
AvailableVirtualMemory: 1.760.018.432 bytes
InstalledUICulture: en-US
------------------------------------------------
Zitat von Verfügbarer Speicher (qv60.exe mit mit 4GB-Flag)Alles anzeigen
---------------------------------------------------------------
FlushMemory: WorkingSet64=2.276 kb
---------------------------------------------------------------
Cache info:
---------------------------------------------------------------
Graphics memory:
---------------------------------------------------------------
Systeminformation:
OS: Microsoft Windows 7 Professional , 64-bit, 6.1.7601.65536
TotalPhysicalMemory: 12.277.809.152 bytes
AvailablePhysicalMemory: 7.971.155.968 bytes
TotalVirtualMemory: 4.294.836.224 bytes
AvailableVirtualMemory: 3.907.366.912 bytes
InstalledUICulture: en-US
---------------------------------------------------------------
Leider kommen nicht alle Komponenten von QuoVadis damit zurecht. Schlecht.
tv3d_debug.txt:
- 04-20-2013 20:09:09 | --------------------------------------------
- 04-20-2013 20:09:09 | Truevision3D Debug/Log File
- 04-20-2013 20:09:09 | --------------------------------------------
- 04-20-2013 20:09:09 | Engine Version : 6.5
- 04-20-2013 20:09:09 | ENGINE INFO : DLL Compilation time Nov 11 2009 23:25:02
- 04-20-2013 20:09:20 | VIEWPORT MANAGER ERROR : Can't create rendering surfaces if there is no 3d device enabled
- 04-20-2013 20:10:09 | START UNLOAD
- 04-20-2013 20:10:09 | RESOURCE MANAGER : Engine wasn't unloaded because not initialized
Ich weiss nicht ob Tom diesen Pfad weiter verfolgen will und ob das für den PathAway-Export was bringt weil ich weiss nicht ob der Speicher zusammenhängend angefordert wird und ob es den Aufwand für mehr Adressraum lohnt.
Grüsse