Jump to content
Sign in to follow this  
qwertz

ArmA 2 I/O analysis results

Recommended Posts

@jiltedjock

What res do you play at ? I've tried all PBOs on a RAMDisk, and Fancycache in various configs, but never a mix of RAMDisk and FC - did you experiment until you got these settings ? I have been leaving around 4Gb for the OS and Arma2, but still get a periodic freeze which started to appear after 1.6. I have everything on an SSD, but something is paging somewhere and causing the freeze, probably due to the amount of data needed to feed the three eyefinity screens.

cj

Share this post


Link to post
Share on other sites

Hi everybody,

I am an avid sim-racer, and on my favourite sim, Race 07 I had a nasty issue with the game crashing (and also having texture flashing problems) when using a certain track (Nordschleife - about 20 km, with a lot of trees around) with the maximum number of opponents (25). After a while of looking into the problem (changing video drivers, google-ing stuff,etc.) I found a solution that I think might help a lot with Arma 2, and I thought might be useful for you too look into:

1. I patched the .exe of the game with this tool:http://www.ntcore.com/4gb_patch.php. It's safe and automaticly creates a backup of the original (also comes with an interface so very easy to use);

2. I also enabled PAE as shown here: http://windows7themes.net/how-to-enable-pae-in-windows-7.html;

I also used: "BCDEdit /set increaseuserva 3072", as described here: http://www.mathworks.com/help/techdoc/matlab_prog/brh72ex-49.html

Fact is, after these two steps I never had the crash problem in >240 hours of gameplay. I also tested with the unmodded version of the game exe and it crashed pretty much every time or had flashing texture problems. It is also very convenient as there the switches in step 2 can be easily disabled if you don't find them useful.

I don't know if this will work with Arma 2 (I am going to try it with the windows memory allocator), but it could be useful, also for other memory intensive apps (especially games).

Hope this helps.

Share this post


Link to post
Share on other sites
@jiltedjock

What res do you play at ? I've tried all PBOs on a RAMDisk, and Fancycache in various configs, but never a mix of RAMDisk and FC - did you experiment until you got these settings ? I have been leaving around 4Gb for the OS and Arma2, but still get a periodic freeze which started to appear after 1.6. I have everything on an SSD, but something is paging somewhere and causing the freeze, probably due to the amount of data needed to feed the three eyefinity screens.

cj

I have mine set for 4GB for ArmA2 and 1 to 2 GB for OS.

When they implemented the LAA (Large Address Aware) you need to keep 4GB free for game and some for your OS or the game will crash at some point on a 64bit system.

Remember Folks this is only for people goofing off with RAMDISK setups on 64bit systems.

Share this post


Link to post
Share on other sites

I play at 1080, with basically most graphics options on max detail. I've got a 1.5GB GTX580 which obviously helps with a lot of the graphics work. I arrived at these limits because:

although I've got 64 Bit Windows I've got no 64 Bit apps. 7GB seems to me a reasonable amount to allocate to the OS - plenty for the 64Bit OS and the WOW64 subsystem for 32Bit apps.

Ramdisk - free version only allows maximum 4GB partition. Seems a good size for paging. May not allow a dump to be written but I'm not fussed about that.

FancyCache - 5GB left over....so why not (-; . And it works - if you have your PC up and running for a few hours you can get a tremendous hit rate against the cache. Essentially it is cacheing anything that is read from the disks I point it at. As it's a gaming rig, that's a small amount of OS and a large chunk of game binaries.

Edited by jiltedjock

Share this post


Link to post
Share on other sites
I run CO on an C2D overclocked to 4GHz, with 4890 and 4GB of DDR2 RAM.

As my E8400 runs off a P35 mobo, I'm stuck with DDR2.

Currently DDR2 is x2-x3 more expensive than DDR3 (8GB = €100 vs €40).

So I'm wondering what would be the most cost-efficient upgrade (highest "bang for buck")

a) 4x2GB of DDR2 => 12GB RAMdisk? for OA pbos?

b) 64GB SSD (Crucial M4?) for OS, OA + paging file?

c) a new mid-range (€200) gfx card (6950 or 560ti?)

Given that I game 1920x1200 (24" TFT) and I can't afford the ubiquitous 2500k/560ti/16GB-DDR3 combo.

So would you recommend Option B?

If so, would you just put your OS on it? (I have Win7-64)

If so, do you I just transfer the Windows folder?

Would transferring the Windows folder, include the paging file?

If so, what is the best way of making the transfer?

Share this post


Link to post
Share on other sites
Because we know what we're talking about. You, on the other hand.....

well, enlighten me with your infinite wisdom sensei

Because Arma2 is a 32 bit application. That means it will only be allocated about 1.7 GB of RAM by the OS, whether that is 32Bit Windows or 64Bit Windows. That means it is going to page while it is running, especially if you play for a while. That means you are best to have your page file in RAM.

If you put your PBOs and other Arma2 data on a Ramdisk, then yes they will load quickly. They will be loaded into RAM. As the game runs on they will be swapped between RAM and page file.

If you have enough RAM then probably the best of both world is to have:

RAMDISK for page file

FancyCache with a Read only caching strategy caching the disk that the PBOs are on.

This is what I am doing. I've got 16GB RAM and Win64. 7GB for the OS, 4GB for RAMDISK with a 4GB page file on it, 5GBs for FancyCache caching my SSD (which has got Arma2, Skyrim etc on it).

---------- Post added at 13:22 ---------- Previous post was at 13:18 ----------

This is what was happening to me when I had a device plugged into one of the USB ports - it seemed to be stopping the RAM from being allocated to Ramdisk prior to the OS creating the page file.

Arma does not decide what is paged and what is not. Windows does. Also, arma is LLA, meaning it can use 4GB ram. Arma doesnt do it, but that's how arma is programmed.

I actually tested with a ramdisk a year back. With a tool that logged all writes and reads to the harddisk. If you have 2GB of "free" ram nothing will go to the pagefile.

Moving the pagefile to ram is useless and is only asking for trouble. Although the risk of a cock-up is quite small because if windows needs more paging space it will simply make a new pagefile on the fly on your harddisk. Then it will alternately page a block to the ram pagefile and the harddisk page file making everything slower.

Share this post


Link to post
Share on other sites

I have 16Gb and have tried various combinations/sizes of RAMdisk, Pagefile and Fancycache to get rid of a periodic stutter, which mostly happens on MP games on Zargabad. I think it must be related to using eyefinity and the large files which must be involved, so might have to wait for 3Gb VRAM. RAM is cheap at the moment and the idea of all PBOs on RAMDisk is probably the most appealing aspect. And maybe Arma 3 will use the additional memory.

Edit : Although it is just a 1 sec stutter it always seems to happen when I am in the open and an enemy pops up, and results in me taking a hit, so it does impact the game for me.

cj

Share this post


Link to post
Share on other sites
well, enlighten me with your infinite wisdom sensei

Arma does not decide what is paged and what is not. Windows does. Also, arma is LLA, meaning it can use 4GB ram. Arma doesnt do it, but that's how arma is programmed.

I actually tested with a ramdisk a year back. With a tool that logged all writes and reads to the harddisk. If you have 2GB of "free" ram nothing will go to the pagefile.

Moving the pagefile to ram is useless and is only asking for trouble. Although the risk of a cock-up is quite small because if windows needs more paging space it will simply make a new pagefile on the fly on your harddisk. Then it will alternately page a block to the ram pagefile and the harddisk page file making everything slower.

I agree. That is why I keep saying to have about 6 GB free for Arma2/OS. All the rest in a ramdisk.

Share this post


Link to post
Share on other sites
well, enlighten me with your infinite wisdom sensei

Arma does not decide what is paged and what is not. Windows does. Also, arma is LLA, meaning it can use 4GB ram. Arma doesnt do it, but that's how arma is programmed.

Wrong. Normally Windows 32 Bit will allow 32Bit apps to address 2GB. When you load the 32 Bit OS with a /3GB switch, you allow apps to address 3GB - but only if they are LLA.

Yes in theory 32 Bit apps could address up to 4GB but Windows 32 Bit does not make 4GB of address space available to them. With a /3GB switch 1GB is reserved to the OS kernel. Without it, it reserves 2GB. So LLA allows a 32Bit application running on a 32 Bit version of Windows to address 3GB of RAM, if the OS is /3GB switched.

For a 32Bit app running on a 64Bit OS, WOW64 operates in much the same way. Although MS say that 32Bit apps can use up to 4GB in Win64, industry experience has shown that WOW64 does not work like that in actuality.

I actually tested with a ramdisk a year back. With a tool that logged all writes and reads to the harddisk. If you have 2GB of "free" ram nothing will go to the pagefile.

Moving the pagefile to ram is useless and is only asking for trouble. Although the risk of a cock-up is quite small because if windows needs more paging space it will simply make a new pagefile on the fly on your harddisk. Then it will alternately page a block to the ram pagefile and the harddisk page file making everything slower.

Wrong again. Using RAM like this is standard practice on the servers that I build for work (high volume web transactions), and the hybrid approach to using spare RAM for paging or as a Level 2 cache is becoming increasingly common as the price of RAM falls. Try running a Ramdisk as a Level 2 cache for an SSD and tell me you can't see a difference in performance. Or try running Skyrim for a few hours with your swap file on a Ramdisk and tell me it isn't much quicker. I agree that Arma does not page as much as some apps.

I'll give you an example - real world, not your bedroom laboratory. Say you are running a 10GB database in 32Bit SQL server, on Windows 2003 Server Standard Edition 32Bit. You've got 8GB of RAM on board. Under what circumstances would it be "useless" to have the paged data going into a swap file residing in the component with the fastest access time ie RAM when that RAM cannot be addressed by either the OS or the application because it is > 4GB ?

Or what about if you were running 2003 Server Web Edition that only supports 2GB?

Edited by jiltedjock

Share this post


Link to post
Share on other sites
So would you recommend Option B?

If so, would you just put your OS on it? (I have Win7-64)

If so, do you I just transfer the Windows folder?

Would transferring the Windows folder, include the paging file?

If so, what is the best way of making the transfer?

Go with 120GB~ SSD, and put it all on it. If you ACE/SU/Rsync then path the rsync files to a different Drive(HDD or SDD) to save space. 64GB SSD is too small, i know i use them.

Share this post


Link to post
Share on other sites
32bit OS, 32bit OS, 32bit OS

Yeah, if a ramdisk allows you to use memory the OS doesn't, obviously you're going to park the page file there.

On a 64bit os it is 100% useless for arma, maybe not for a bunch of non LAA sql servers, but maybe you should discuss that on another forum.

might be nice for skyrim, although they've flagged that LAA in one of the latest patches as well I believe.

Edited by Leon86

Share this post


Link to post
Share on other sites
On a 64bit os it is 100% useless for arma

I think you fundamentally don't understand that when Arma is running on Windows 64 Bit it is running in an emulated 32 Bit environment. With all the limitations of memory addressing and the necessity to page that that implies. Fundamentally, a 32 Bit app in Windows 64 Bit can do nothing with RAM over 4GB. In fact the additional overhead of WOW64 makes a reasonable case for Arma running best in a native 32 Bit environment ie XP.

By your logic, if you had a Windows XP 32 Bit machine with 4GB RAM running Arma you could disable paging and see no degredation in performance.

Share this post


Link to post
Share on other sites
Go with 120GB~ SSD, and put it all on it. If you ACE/SU/Rsync then path the rsync files to a different Drive(HDD or SDD) to save space. 64GB SSD is too small, i know i use them.

Even 80GB is a bit small. I have Win7 Ulti and the game on the SSD and there's not much room left. I use a launcher and put the addons on another HDD. Despite Leon86 ramblings, I moved the pagefile to a RAMDISK and that saved a bit of space.

Share this post


Link to post
Share on other sites
Even 80GB is a bit small. I have Win7 Ulti and the game on the SSD and there's not much room left. I use a launcher and put the addons on another HDD. Despite Leon86 ramblings, I moved the pagefile to a RAMDISK and that saved a bit of space.

Well, let me ramble a bit more.

Get rid of your hibernation file, gets you your ram size in disk space.

By your logic, if you had a Windows XP 32 Bit machine with 4GB RAM running Arma you could disable paging and see no degredation in performance.

Well, performance will def. not decrease. The system might crash if too much is running in the background, but purely arma, should be fine.

Edited by Leon86

Share this post


Link to post
Share on other sites

All the more reason to delete the hibernation file then, done it yet? and what did it get you?

Share this post


Link to post
Share on other sites

Don't know yet, the PC in question is in bits awaiting a new PSU.

Share this post


Link to post
Share on other sites

Hi, you guys are too smart for me :p

So if you could (in layman's terms) explain to me if (and how) I need to do something with the paging file while Im running a 12gb RamDisk for Arma (4 left for OS)?

Thanks

Share this post


Link to post
Share on other sites

Hi Froggy, I have 16Gb RAM as well, and am working on the theory that a RAMDisk based pagefile is the best solution, probably splitting memory with at least 6Gb for Game/OS and the remaining 10Gb as a pagefile and FancyCache mix. This is based on some non-scientific testing, which takes some time due to constant re-booting and reconfiguring required after each tweak.

I figure most pbo files will be loaded only once from a relatively slow HDD/SSD, and if paged and re-accessed it is better to be from a faster RAMDisk pagefile.

No matter how I configure it I still get some freezes on specific maps and missions, but put them down to the eyefinity res I play at and the limit of 2Gb VRAM (roll on the affordable 3Gb 7xx0 models). I don't know what happens when VRAM is exceeded, but if there is paging involved this is most likely causing the freeze, and so a newer card is the solution.

cj

Share this post


Link to post
Share on other sites
All the more reason to delete the hibernation file then, done it yet? and what did it get you?

I can't find a hiberfil.sys. Would a system that's never been hibernated have one?

Share this post


Link to post
Share on other sites

Saved a little over 500 MB, so it's some and given that I'm short on disk space, it's welcome.

Now if only the full version of RAMdisk would play - it broke after I upgraded it, I could save lots more.

Share this post


Link to post
Share on other sites

Approx 500MB. :) I didn't do an accurate count. I wonder if the fact that when the OS was installed the machine had 8GB and has since had another 8 added has anything to do with it??

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×