Armed Assault Info
ArmA | ArmA 2 | ArmA 3
 

 
  Breaking the 32 bit Barrier Official    

Ondřej Španěl has posted a new entry on the Bohemia Interactive Developer's Blog
about the Virtual Address Space problems in ArmA. It looks like a great new for those experiencing memory limitation errors or triangle mess on their screen. There is also announcement of the 1.11 patch.

Ever since ArmA was published, one of the biggest problems with stability and compatibility was caused by virtual address space exhaustion. The problem is the game needs to store a lot of data, using a lot of virtual addresses, and at the same time a large amount of virtual address space are used by other parts of the system, most notable of them being the graphics card driver. The problem started even before ArmA was published, back in the times of Operation Flashpoint, when the first graphics cards with 256 MB RAM or more appeared.
...
Now what happens is that each application is given 2 GB of address space by the operating system. 2 GB sounds somewhat limiting, however it's not that bad - few people have more RAM in their computers anyway. Now the important thing to note is we are not talking about RAM (physical memory) here, we are talking about the address space. The application is limited to 2 GB address space, so if your system has 512 MB RAM or 4 GB - it does not matter here at all.
...
Those 2 GB are used for everything the application needs. Recent graphics cards drivers often eat several hundred of MB from this. To make it even worse, there are some system components which do not eat big parts, but eat them here and there, making the space fragmented into multiple small regions. My experience shows it is almost impossible for the game code to allocate more than around 700-900 MB of virtual space without the system becoming extremely unstable.
...
This mean once a game allocates too much of the virtual space, very strange things start to happen, like a triangle mess on the screen, or sometimes even a system reboot.
...
And they one day, an idea came, as such ideas usually do, from nowhere. As usual with such ideas, once the system is implemented, it seems very obvious, but I never heard about it being used before, therefore I am quite proud to have invented it. I call this technique Non-addressable Memory Store.

The technique is based on using the File Mapping API. Yes, you hear well, the same API which caused problems with Flashpoint, but this time it is used a very different way, using it not to read the files, but as a way to allocate memory: ...
...
Available to You in the Nearest Patch
This memory handling will be published in the upcoming 1.11 patch, and I hope you will like it as much as I do.


Read full article on Bohemia Interactive Developer's Blog

  March 12th, 2008 - 15:55 By Old Bear   Comments (9)  

 
 
© 2007 - 2024 Armed Assault Info
Disclaimer - Info