Jump to content
Sign in to follow this  
sailindawg

ARMA demo and memory utilization

Recommended Posts

I'm not sure this RAM behavior is true for XP.

ConservativeSwapfileUsage parameter isn't used anymore, because the default XP behavior is now correct

Share this post


Link to post
Share on other sites
ArmA uses your Pagefile for mem allocation

Hi

I'm quite sure ArmA does not use the pagefile, it is the operating system that uses pagefiles. You could try to adjust your Windows settings to try and make it behave more like a Linux-kernel based operating system. On a Linux-based system I am using, 768 MB of RAM can be almost totally used up and no pagefile is used (until it is absolutely necessary). I did some programming the other day which included monitoring memory usage: amount of free RAM went down to about 15 MB and no pagefile was used.

I recall there are some optimizations for Windows XP to try and force it to not use pagefile for kernel (core of an operating system) at least. I've forgotten about the details of such settings so you need to look them up from a Windows tuning website like tweakxp.com and see if you can get a difference.

BR,

Baddo.

No it may not use your pagefile but its looking at it too decide how much memory to allocate to the Nonlocal VRAM numbers.(as I said find the thread my findings are there, Im sorry Im too lazy to link it)

Also I can produce logs from pretty much every time I have played ArmA(I use Everest Ult. Edit. 24/7 as my System Monitor) and can show you its never used more than 21% of my Memory.

I think the optimization your are talking about fo XP is Disable Paging Executive.

Share this post


Link to post
Share on other sites

I'm sorry, but "kernel", ie .DLLs that are vital to XP, are ALLREADY stored on physical RAM and will NEVER be using pagefile. This is the DEFAULT current XP behavior, you don't need to change anything for this.

EDIT gash, I didn't read about the above tip, it seems...

Well, the main points remains (for me) : ArmA being low on memory is not really (could be, though) a "bad memory management", and certainely not because it's "pagefiled". Quite the contrary.

Share this post


Link to post
Share on other sites

Wow.....this has turned into a really good discussion here. First I'd like to thank the mods for moving this to a more appropriate forum section. I thank all for their posts and experiences. I have not had time yet to digest all that has been posted.

I had some time last night to play around with the demo. I used the target line command for increasing memory utilization. For testing purposes, I created my own coop server, locked it and ran through from the beginning to a point where I got "killed". I stayed in the bushes and treelines, making the most of cover, but also in the rendering intensive areas. I used NVTweak to measure ingame system memory usage. NVTweak has an OSD to show fps (and other data points as well) in game. I also ran XP's built-in Perfmon to measure Paging File Usage.

Ingame quality settings:

Terrain: Normal

Objects: Normal

Texture: Normal

Shading: Low

Post Processing: Low

Ansiotropic: Normal

Antialiasing: Normal

Blood: High

Vid driver (91.47) settings

AA/AF - application control

SLI setting - AFR, using nHancer only the BF2, Lineage flag was checked

Force mipmaps - Trilinear

balance of items were app controlled. Played with V-synch, but more later.

The target line tweak did work. My sys mem usage went from 210 MB to a max of 450 MB. On my own locked coop server, the game ran much smoother. I ran the game at 1280x1024, 1600x1200 & 1920x1200 resolutions. This time I saw a difference in fps over the resolutions. At 1920, I experienced frames that never went over 25. FPS averages 15-20. Game play was very jerky and laggy, despite the increase in sys mem.

At 1600, the jerkiness and lagginess went away. FPS averaged 20-30. The game did not feel real smooth yet.

At 1280x1024, the jerkiness and lag was totally gone. FPS ran as high as 45-50, but generally averaged 30-35. Now I p[layed with V-synch. At first, I forced V-synch off through the driver. FPS ranges from 20-50. FPS fluctuated often. I tried V-synch on through the driver. FPS did not fluctuate as with it off, fps stayed in the mid 30's. There was little fluctuation on the fps. Because of the this, the game seemed a bit smoother.

I used Perfmon to measure Page File usage. I set-up my page file on a seperate partition from the operating system. My games reside on a seperate RAID partition. This allows for quicker page file accessing and the RAID and the page file can be accessed simultaneously, if need be. I recorded 0.096% page file usage. The game does not utilize the page file.

In summary, the game is only using ~450 MB system RAM, even though, there is plenty more available. I used a value for the target line tweak of 1400 MB. Any higher and one will lock up the operating system and the game because of excess memory utilization. The game does not utilize the paging file. In reading some of the posts here, I was disappointed to learn that the game uses a ported Xbox 360 game engine. I was hoping that BI had their own engine. Was the demo enjoyable, it's not a bad game when one can find a decent host and a server with minimal lag for th coop. A dedicated server would be better. The game does not use system resources well. It could be code optimization or a drawback to the type of engine used. I have not given up entirely. Can the dev's recommend any game file modification to enable better system hardware utilization?

Thanks.

Share this post


Link to post
Share on other sites

the "XBox360 Engine" talked about here is THEIR engine wink_o.gif It's the engine of the XBox version of Operation Flashpoint.

Btw, not sure I've read it on your report, how long have you tested? And did FPS remain steady? If it is really a ressource freeing issue, -maxmem should only have postponed the moment where you begin experience FPS issue. If it is not, then your FPS would remain good whatever the playing time

Share this post


Link to post
Share on other sites

@whisper -

Btw, not sure I've read it on your report, how long have you tested? And did FPS remain steady?

Quote[/b] ]

Yes, when v-synch was on. I believe I stated that.

If it is really a ressource freeing issue
Quote[/b] ]

The performance of this game is not a resource freeing issue. The game does not load textures to sys mem or V-mem like most conventional games. It STREAMS directly from the hard drive.

Previous post from Whiskey Bullets:

bingo... hard drive bandwitdth is the key to most of the performance issues everyone is having because of there hard drive being capped at X Mbps on an IDE drive. Where i think everyone needs to be is around 130 to 150Mbps which is a SATA Hard Drive to get there performance gains.

This goes to what i said was the Major Flaw with the perfromance is streaming information from the Hard Drive because its doesnt matter what CPU,GPU and Memory you have with Armed Assault. Good information Bunks

Full thread here.

This is why the game seems to be stuck at a certain fps. I already stated that without the target line tweak, the game played identically across 4 different resolutions. Using the tweak helped put data through more quickly, but it the game was still streaming from the hard drive.

It's the streaming engine that makes this game run the way it does. It streams directly from the hard drive rather than using the sys mem and vid mem as buffers. FPS are dependent upon the speed of the data throughput of the hard drive subsystem, rather than the conventional sys mem & vid mem like other high end games. The streaming engine is developed for the Xbox because of the Xbox, unlike a pc, is a closed format with known hard ware. They can utilize that type of engine quite well for that format. However, it's this streaming from the hard drive that will hold back performance on a pc because hard drives utilize a bus speed form 100 MB/s to 300 MB/s. Depending where your HD's are on that speed curve will impact your performance. If the game dev's optimized this game for the pc or wrote it expressly for the pc, then this would be a killer title with much talked about performance. Bottom line is that this is a great game, but needs optimization badly for the pc.

Share this post


Link to post
Share on other sites
ArmA uses your Pagefile for mem allocation

Hi

I'm quite sure ArmA does not use the pagefile, it is the operating system that uses pagefiles. You could try to adjust your Windows settings to try and make it behave more like a Linux-kernel based operating system. On a Linux-based system I am using, 768 MB of RAM can be almost totally used up and no pagefile is used (until it is absolutely necessary). I did some programming the other day which included monitoring memory usage: amount of free RAM went down to about 15 MB and no pagefile was used.

I recall there are some optimizations for Windows XP to try and force it to not use pagefile for kernel (core of an operating system) at least. I've forgotten about the details of such settings so you need to look them up from a Windows tuning website like tweakxp.com and see if you can get a difference.

BR,

Baddo.

No it may not use your pagefile but its looking at it too decide how much memory to allocate to the Nonlocal VRAM numbers.(as I said find the thread my findings are there, Im sorry Im too lazy to link it)

Also I can produce logs from pretty much every time I have played ArmA(I use Everest Ult. Edit. 24/7 as my System Monitor) and can show you its never used more than 21% of my Memory.

I think the optimization your are talking about fo XP is Disable Paging Executive.

So we can use the -maxmem x command on startup to specify the maximum amount of memory available to ArmA.

By default ArmA is restricted to using a certain amount of system memory, somewhere around 300/400MB (or around 20% of 2GB ... wink_o.gif).

Start ArmA with the command -maxmem 768 and let us know your system memory usage now.

Share this post


Link to post
Share on other sites

Stuck at a certain fps? When viewing a simple scene my machine can reach near 80 fps. During the demo capture the flag it doesn't really drop below 30 unless scoping over an orchard. These claims of it being stuck at a certain fps are highly dubious.

Share this post


Link to post
Share on other sites

Haven't read all of this thread but hit up Google for GX2 issues. Short of it is, some games run like crap and some games don't run at all. Probably a driver issue.

Share this post


Link to post
Share on other sites
Stuck at a certain fps?  When viewing a simple scene my machine can reach near 80 fps.  During the demo capture the flag it doesn't really drop below 30 unless scoping over an orchard.  These claims of it being stuck at a certain fps are highly dubious.

And is this on a server with 16 players? there seems to be a big performance drop between 8+8 AI vs 8+8 people. If I play against the AI by myself my framerate is double of that with 16 players, doesn't seem right to me and I dont remember OFP being like this.

I've also noticed my upload bandwidth to the server when I play by myself against the AI is probably 3 or 4 times more then when theres 16 people online. This is obviously caused by the server FPS lowering with more players and dead units which the server runs around 9 - 11 FPS with 16 players on the CTF, I dont have any figures on OFP CTF but I do recall our large CTI missions running just as good if not a bit better server FPS then this with more people.

Share this post


Link to post
Share on other sites
Quote[/b] ]Stuck at a certain fps? When viewing a simple scene my machine can reach near 80 fps. During the demo capture the flag it doesn't really drop below 30 unless scoping over an orchard. These claims of it being stuck at a certain fps are highly dubious.

The "claims" are real. Because the streaming engine relies more heavily on the hard drive sub system to run this game, rather than the sys mem sub system and the graphics sub system, your fps will be tied to the speed of throughput associated with your hard drive sub system.

What type of hard drive are your running, an IDE, SATA II or SATA III?

Quote[/b] ]Haven't read all of this thread but hit up Google for GX2 issues. Short of it is, some games run like crap and some games don't run at all. Probably a driver issue.

You should read the thread. This is not a graphics subsystem or driver problem. The GX2 runs the game excellently. There is no graphics anomalies. The crux of the problem is that the game's streaming engine relies heavily on the pc's hard drive for data throughput in order to "stream" the game.

Again, do not blame the end user!

Share this post


Link to post
Share on other sites

Well my specs are as follows:

Dual-Core AMD 4400

2gig Corsair (4x 512 sticks making use of both dual channels)

80gig SATA2 (300) OS Drive with NCQ

160gig SATA2 (300) Games drive with 16mb cache and NCQ

640MB XFX 8800GTS Extreme XXX, PCI-E (x16), Mem 1800 MHz, GPU 550 MHz

Windows XP SP2

Both hard drives were formatted roughly an hour before testing of the game begun, latest NVidia drivers installed.

With the game totally maxed, running at 1440x900 (WS monitor), it runs O.K, perfectly playable, a little sluggish, until you get into a city when all hopes of aiming is gone, as the lag time on moving the iron sites is a good 1-2 seconds. To play this game "effectivly" i belive i would have to run default even with these specs, and for those who havent seen the graphics quality difference between default and high is immense.

Unfortunatley the game dosent make much use of dual-core processors, which is probably bottle necking my system, your actually better off running a higher speed single core performance wise on this game.

So i can only conclude to play this game on high/highest properly you need a cutting edge machine in all aspects.

-EDIT- Oh and before i forget i am refering to the recently released demo, not the full version of the game.

-EDIT-

@Sailindawg

AFAIK there is no SATA III, theres SATAI (150) SATA II (300)

Share this post


Link to post
Share on other sites
Stuck at a certain fps? When viewing a simple scene my machine can reach near 80 fps. During the demo capture the flag it doesn't really drop below 30 unless scoping over an orchard. These claims of it being stuck at a certain fps are highly dubious.

Depends if you remain static or not, I guess, as it is the streaming engine that makes HDD access

Share this post


Link to post
Share on other sites

Why would streaming affect the fps unless some specific data is urgently required to be loaded from HD (instead of RAM) before the scene can be rendered? AA even has a fallback system for that eventuality (using the low LOD models/textures until the new ones are loaded)

There would need to be entirely new data needed every few frames for it to have a steady affect on fps (essentially having new objects not loaded into RAM teleport in front of you non-stop)..

Theres no doubt the streaming *does* affect performance, but I don't think its a direct HD speed -> fps relationship at all except in extreme cases such as flying at high-speeds in a jet. I'd say since most of the time is spent on foot/in comparatively slow vehicles, fps limitations are coming from elsewhere.

Share this post


Link to post
Share on other sites

There's this identified FPS loss near bushes which is very probably unrelated to HDD speed.

But the fact that RAM usage is low tends to prove that very few information for streaming is "cached" into RAM before being rendered, so it looks like topography information is retrieved live from the HDD, or nearly.

Share this post


Link to post
Share on other sites

Any unused memory left over from applications is used as file system cache by Windows. Since operating system tend to be quite effective in choosing proper data to cache, why should ArmA try to reimplement disk caching?

Demo memory usage isn't too high anyway because island is less than half of proper Sahrani and demo is missing quite a few units and vehicles, full version uses a bit more memory. Performance is still mostly GPU limited, with Nvidia 7900GS fps was just the same with 1GB or 2GB memory. Alt-tabbing back and forth to Windows was a lot faster with 2GB though, makes script editing and testing a lot more snappier smile_o.gif

Share this post


Link to post
Share on other sites
Quote[/b] ]AFAIK there is no SATA III, theres SATAI (150) SATA II (300)

I think he meant SATA 6.0 which would be SATAIII currently isnt release yet but should see in the near future or its a typo meaning SATA 1.5 and SATA 3.0.

Quote[/b] ]But the fact that RAM usage is low tends to prove that very few information for streaming is "cached" into RAM before being rendered, so it looks like topography information is retrieved live from the HDD, or nearly.

I wonder if higher VRAM Video Card above 512MB will then be bottleneck if this is the case.

Share this post


Link to post
Share on other sites
Quote[/b] ]What type of hard drive are your running, an IDE, SATA II or SATA III?

I mistyped this morning. I meant SATA I or SATA II, SATA I = 150 MB/s transfer rate, SATA II = 300 MB/s transfer rate.

Quote[/b] ]But the fact that RAM usage is low tends to prove that very few information for streaming is "cached" into RAM before being rendered, so it looks like topography information is retrieved live from the HDD, or nearly.

I wonder if higher VRAM Video Card above 512MB will then be bottleneck if this is the case.

Yes, the game is streamed directly from hard drive as you play. That's why Vram and sys mem usage is so low.

I reinstalled the game onto my SATA I drive from the IDE RAID 0 drives. The game plays smoother. Without the -maxmem tweak, the game on the SATA drive played smoother than the IDE RAID 0 install with the -maxmem tweak. Further, it doesn't matter what value you use for the -maxmem tweak, the game will only utilize ~20% of your sys mem even though the .cfg file sees all available system memory. I used 768 & 1400 MB in the tweak and sys mem was identical.

Running the game on the SATA drive kept the fps more into the 30's than the 20's on a locked coop server. And that was staying in the tree lines for cover. On a live coop server with players, fps were in the 30's.

On a CTF server, frames would range from 30-50's. In open areas, fps would be around high 50's. Inside the town, fps would be from 30-40's. Unfortunately, since there are no dedicated servers, (save wolfservers.com), I could not get into a large server with players to see how a live multiplayer game would be.

For the above, I used 1280x1024 resolution @ 85Hz. My game settings and vid driver settings are as one of my previous posts, except v-synch was turned off in the driver. This lead to higher fps as stated in other forum posts.

One more note, my vid card is basically 2 separate vid cards sandwiched together to yield SLI in a single slot. My Vram usage was ~256 MB RAM for each card.

Summary:

This is an interesting game programming wise. Because it's adapted from Xbox programming, the game is programmed to utilize the hard drive subsystem to run the game. Most newer graphically cutting edge games utilize the much faster sys mem and video card sub systems because of the greater bandwidth afforded. The greater bandwidth yields much faster cpu processing and the sys mem allows for the caching of large instruction files, graphic textures and shading instructions.

Streaming from the hard drive, rather than caching in sys mem, seems to allow for very large maps that unroll before you as explore the landscape. As you approach the horizon, there is smooth transitioning of the point of view. For games that utilize sys mem, there can be seen graphical hitching or stuttering as the scene unfolds to the player. Game info states that the game allows for the dynamic change of time, as in the positioning of the sun, etc... Streaming, rather than caching will help here as well.

Does this make this game a cutting edge game? Graphically, there are no real particle physics or spectacular explosions. No laser rays. The stress here seems to be in realism utilizing HDR lighting and shader model 3.0 instructions. The grass looks excellent, the trees and bushes as well. No pixelated grass as in BF2. When you're hiding in the grass, well it looks like grass.

Would I like to see this game optimized for the pc? You betcha! Utilize my system. If you really want to play this game well, forget an IDE hard drive. Streaming from a HD or a DVD makes sense for a console game, but not for a pc. A pc just has much more efficient subsystems than a console does (or more bottlenecks, depending in how you look at it). I would love to see a single player version of this game.

Share this post


Link to post
Share on other sites

@coolsprog - regarding dual core cpu usage

Using Riva Tuner's ingame OSD for Hardware Diagnostics, I find my dual core working pretty good. Core 0 will go around 70-90%, then core 1 kicks in to about 30-40%. CPU utilization was pretty constant. It reminded me of how GRAW utilizes my cpu. Same type of thing. One core fluctuates from 50-90%, then as one core hits 90%, the other pops up to about 30-40%.

I believe that the XBox 360 utilizes a dual core cpu. I could be wrong on that, but I thought that the 360 had a dual core cpu. If that's the case, then this game should utilize a dual core cpu well.

Share this post


Link to post
Share on other sites
I believe that the XBox 360 utilizes a dual core cpu. I could be wrong on that, but I thought that the 360 had a dual core cpu. If that's the case, then this game should utilize a dual core cpu well.

The 360 has a triple-core CPU, but BIS (streaming) engine is based on the old XBOX, which had a single core CPU. I will install the game on my SATA HDD (WD Raptor) but I highly doubt it will cure my performance issue.

Share this post


Link to post
Share on other sites

guys these informations about "memory usage" are quite off ...

try just open Sara in editor or run some extensive mission on Sara

and at least for me ArmA is able utilize 600-950MB of system memory and ~400MB of Video Memory (tested on multiple computers with 1-4GB ram) with -maxmem=

for testing i use SATA-2 strip RAID from 3 HDDs with raw read ~190MB/s (uncached) and burst read ~2300MB/s (cached)

yet i still see texture flicker (switching between low/hi quality), slow loading of textures and so on ...

problem is not VRAM (as there is another 100MB free) and DX reports another 512MB free from local memory

or rest local memory or HDD speed / access times ...

it's something else ...

Share this post


Link to post
Share on other sites
Summary:

This is an interesting game programming wise.  Because it's adapted from Xbox programming, the game is programmed to utilize the hard drive subsystem to run the game.  Most newer graphically cutting edge games utilize the much faster sys mem and video card sub systems because of the greater bandwidth afforded.  The greater bandwidth yields much faster cpu processing and the sys mem allows for the caching of large instruction files, graphic textures and shading instructions.  

...

Would I like to see this game optimized for the pc?  You betcha!  Utilize my system.  If you really want to play this game well, forget an IDE hard drive.  

This isn't a useful critique. It runs fine on my system, which - horror of horrors - has an IDE hard drive.

It will not run at the same FPS as BF2, and that's fine. It does a thousand times more than BF2 does in any given second, with AI, practically unlimited terrain, scripting, and all the other things that make this engine unique.

The Xbox had a particularly slow IDE hard drive. All the "Xbox Engine" posters seem to conveniently forget that. The hard drives in most PCs built even at the same time as the Xbox (2001, mind) were faster.

Until someone that's seen the code chirps up with some actual facts, I'd suggest that everyone *not* rush out and buy a faster hard drive based on this post alone.

Spend the money on an X19xx instead, and watch the framerate jump...

Share this post


Link to post
Share on other sites
Quote[/b] ]It will not run at the same FPS as BF2, and that's fine. It does a thousand times more than BF2 does in any given second, with AI, practically unlimited terrain, scripting, and all the other things that make this engine unique.

Quite simply, no it doesn't. I'm glad it runs well for you, I never said it didn't run well for me. I said the game is bottlenecked by streaming from the hard drive rather than loading textures/files into system memory/vid mem sub system. I have also said that the game is not well coded for the pc.

Graphically,there are no surprises. The visual hit damage effect to vehicles is poor. After a vehicle gets hit with a rocket, it catches on fire, smokes a bit, then after the smoke routine programming has run, the vehicle looks like it did before it got hit. Undamaged. I would expect that the vehicle should look like a wreck, not undamaged. Or, since that vehicle was "killed" I would expect it to disappear off the map after a bit like the dead bodies do in any first person shooter. Instead, the vehicle takes damage, shows a bit of damage, then returns to a normal state. Not very realistic for such a realistic military sim.

Regarding overall graphics, there are no examples of particle physics in this game. Yes the game has some sort of dynamic lighting going on, but that has been around for quite some time. I have a 3 year old RTS by EIDOS called Panzer Claws(I believe it's World WAr II: Panzer something in Europe) that utilized dynamic lighting to imply the passage of day/night events. The game, compared to other titles such as GRAW, Company of Heroes, just does not have any over the top graphics. Sure the game utilizes HDR, but that's not a hardware killer with the top end nVidia >7xxx and AMD/ATI 19xx cards.

No, I never said the game ran poorly on my system. I said it's poorly optimized for the pc. I really like the premise for this game. It seems to promise a lot. However, if I were to buy this title, I would buy the Xbox version because that is what this game was optimized for. This game should look and play incredibly on that platform.

Oh and one last thing, the last few posters to this thread here seem to own the full version of the game. I only have access to the demo. My questions/comments/observations have been about the demo only. I have no idea if the full version runs better, but judging from the main body threads, it doesn't seems to.

After this post, I will probably be banned from this forum. I tried to keep my observations of the demo as factual as possible. I hope that one of the game dev's will read my posts and try to optimize this game to better utilize pc hardware. The game shows great promise.

One thing that has bothered me about this forum, is that a few posters keep blaming the end user or end user hard ware for poor game performance. It's laughable since the hardware is generally high end stuff. That really is a disservice because it throws out useless "red herring" statements that detract from the overall thread and resolves nothing. I find that disappointing in any tech support forum.

Thank you for allowing me to post in your forums. I hope I may have shed some insight.

Regards.

Share this post


Link to post
Share on other sites

Just reading through these i never new it was a xbox engine i thought it was pc 100% wow how crap is that. It makes a lot of sense why it runs so bad. Ive 3 gig of ram and havent played ArmA in about 3 weeks, basicly because i got games that run perfact on my system. Look forward to the next patch and hope they manage to optimize it more for ram usage.

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  

×