Jump to content
jenxie

This is my story.... how I managed to solve performance and artifact issues.

Recommended Posts

Thought I'd share what I did to solve my perfomance and graphical glitching issues.

PC Specifications:

CPU: Intel Core i5 2500K 3,3GHz running at 4,8GHz

GPU: 2x EVGA GeForce GTX 570 1280MB HD running in SLI

RAM: Corsair 8GB (2x4096MB) CL9 1600Mhz VENGEANCE LP

SND: Creative Sound Blaster X-Fi Titanium Fatal1ty Champion

PSU: Cooler Master Silent Pro M 1000W

MB: MSI Z68A-GD55 G3 REV B3

SSD: Corsair SSD Force 3 Series 120GB

HDD: 2x Western Digital 500GB HDD's

So I bought the game, installed it on my SSD drive and started playing DayZ, overtime ingame I had an annoying problem problem that FPS dropped slowly down to 7fps and I just really had to restart the game. Fell in love with the game and thus my journey began to make it work, so here's my story =)

The next problem was that my graphics card memory we're only using around 300-400MB VRAM and load was under 15% (measuring FPS/GPUload/GPUmem with EVGA Precision X).

I began with uninstalling the game and reinstalling it on my HDD instead wich is now D:\ArmA 2 (didn't buy the game through Steam), that solved my fps-drop-overtime-issue. Still with all graphics settings set on Low the performance was poor and alot of glitching occurred. To solve these two problems I did the following:

Installed RAMDISK and assigned a Virtual Drive 400MB large inside the RAM, here I moved the @DayZ folder to the new drive with is F:\ in my case. Then I modified the shortcut (Target field) to look like this:


C:\Windows\System32\cmd.exe /c start "high" /high "D:\ArmA 2\arma2OA.exe" -mod=F:\@dayz -nosplash -world=empty -maxmem=4096 -cpuCount=4 -exThreads=7

Change "D:\ArmA 2\arma2OA.exe" to your correct path.

This tells the game to run at High CPU priority so I don't have to Alt+TAB to taskmanager to manually set it every time, this also brought down loading times from 5-6 minutes til around a minute or so. -mod=F:\@dayz should be self-explanatory but it starts the mod from the RAMDISK drive. cpuCount is 4 since I have 4 cores but you should change if you have a Dual Core wich brings us to exThreads, what I've read it does is along with the main rendering thread "7" makes the file operations have it's own thread, one for geometry and one for textures wich seems suitable for a 4 core CPU. If your on a Dual Core you should probably just set it to 1 instead of 7 to have a thread along side with the main thread for file operations, don't think more threads will have a noticeable impact on Dual Core but I haven't tested this.

In nVidia control panel I activated the Operation Arrowhead profile and set the Ambient Occlusion & Threaded Optimization to Off.

In-game (Options -> Video and click the Advanced button) set the 3D Resolution to your monitor resolution, Video memory to Default, HDR to Very High and Postprocess effects to Off.

From the guy who rebooted the game the most on our TeamSpeak I'm now in-game without any problems and never have to 'flush'/restart game etc. So my graphics settings are now set on Very High along with the settings above running with AntiAliasing on Normal. I'm on stable 60.1 FPS, only drops in cities (to ~50) and the GPU loads works from 60% to 85% with almost maxed out VRAM over 1GB after 15 minutes of playing. The downside is though now I can't blame silly deaths on glitches and FPS ;), hope this helps anyone else with similar problems.

If you try this out please post if it solved your issues or not.

Edited by Jenxie

Share this post


Link to post
Share on other sites

Interesting..

I have half the pc you have

I7-920 @ 3.3ghz

6gb ddr3 9-9-9-24 ram

Nvidia 460 cyclone 1gb sli (900mhz from 725mhz)

7200rpm hard disk.

Installed through steam on my d:\ (c is too small to hold steam lol)

After an hour of playing i get

150-180fps if i look up (a boost of 100% since overclocking the gpu)

I get 80-90 in forests (boost of about 50%)

I get drops low as 30fps in cities (boost of 25%)

Id love to try some of your fixes to up my in city experience.

Edit

My settings are all on high no post pross tho.

Edited by ChrisR

Share this post


Link to post
Share on other sites

Nice tips. I heard that dropping the graphics settings can actually negatively effect performance because it takes the pressure off of your CPU and dumps it onto your graphics card (I think).

Edited by Fraggle

Share this post


Link to post
Share on other sites

@ChrisR: Wish I could run with V-Sync disabled, I'm on a BenQ TFT 24" XL2420T 120Hz and I get really nasty tearing in-game when I try to go over 60FPS, It's higher than 60 but I haven't measured it nor made a note of it since it's really unbearable for me :)

@Fraggle: Could be, haven't tested it though, when I ran the game stock I also tried to up the graphics but that didn't help at all =)

Edited by Jenxie

Share this post


Link to post
Share on other sites

I get awful tearing aswell when i run without vsync, sometimes i dont notice sometimes its really bad.

I usually have it off to measure the fps as im constantly trying to get better performance in cities but if it gets annoying i will turn vsync on.

Im going to try setting cpu priority to high to see if i gain anything there.

I might try overclock the cpu more as its running at 60C after an hour of prime95 so i recon i could get 3.8ghz with relative safety. Also possibly overclock the gpu as when i play the cards only get to 55C-60C after about an hour of playing.

Share this post


Link to post
Share on other sites

I get awful tearing aswell when i run without vsync, sometimes i dont notice sometimes its really bad.

I usually have it off to measure the fps as im constantly trying to get better performance in cities but if it gets annoying i will turn vsync on.

Im going to try setting cpu priority to high to see if i gain anything there.

I might try overclock the cpu more as its running at 60C after an hour of prime95 so i recon i could get 3.8ghz with relative safety. Also possibly overclock the gpu as when i play the cards only get to 55C-60C after about an hour of playing.

I don't think overclocking will make that huge difference on the issues that I had, posted so people don't measure FPS with a stock CPU and wonder why they get alil less FPS than me, had terrible FPS and artifacts when running the game stock-installed and the CPU was the same as it is now. I currently don't have my secondary screen connected so I can't check CPU-load through taskmanager while playing, but I don't think it uses all the clocks offered since the CPU isn't close to hot when I play. I'm using the "Thermalright Silver Arrow Multiple Heatpipe Cooler" so the CPU in Prime95 never goes over 60C at 4,8GHz and in games the CPU is quiet, really quiet =) Just be careful and don't burn any of your hardware =)

Edited by Jenxie

Share this post


Link to post
Share on other sites

Just tried these to see if they will improve the hourly stutter but its too early to tell at them moment. I have noticed that setting exThreads makes mine load a lot slower since it usually takes around 30s to load but it took over a minute with exthreads.

As with the maxmem setting, there are 2 problems with what you are setting. First of all ARMA2 is a 32bit process so it cannot use more than 2.5GB ram at a time, this limitation applies to both 32 and 64bit operating systems as it is an addressing issue with the process, not the operating system. Secondly, i know for servers that if you set it higher than 2047 it will default to that since its the max the game can allocate.

I find it odd that you're having performance issues, my system is:

MB: Asus M5A99X Evo

CPU: AMD Phenom II 955 X4 BE

RAM: 8GB Corsair Vengeance 1600MHz CL8

GPU: AMD Radeon 6950 2GB

SSD: OCZ Vertex 4 128GB

HDD: 1TB Samsung F3

I only have a slight FPS drop every hour or so and it only lasts around 30 seconds. When i don't have the drop i have a constant 60FPS which sometimes dips to 50 in cities (or drops to something stupid like 20 when it glitches out). All my settings are on high/very high.

-Edit- Just noticed that with cpucores=4 my GPU usage has shot up to 90% (makes no sense i know!), i'll see how it goes now :)

Edited by VRocker

Share this post


Link to post
Share on other sites

As with the maxmem setting, there are 2 problems with what you are setting. First of all ARMA2 is a 32bit process so it cannot use more than 2.5GB ram at a time, this limitation applies to both 32 and 64bit operating systems as it is an addressing issue with the process, not the operating system. Secondly, i know for servers that if you set it higher than 2047 it will default to that since its the max the game can allocate.

There was a discussion about this on the BIS forums and some people reported better performance with maxmem=4096. I think you are allocating a GB of ram for each cpu, ie cpu=4 so 4x1024 which would be within the 32bit restriction stll. I guess people with 8 gig of ram could set it even higher and still be within the 32bit limit? I don't know for sure but I don't get the performance issues a lot of others get despite running it on an older system, and there is a noticeable decrease in load times.

Edited by Dr Cheese

Share this post


Link to post
Share on other sites

As with the maxmem setting, there are 2 problems with what you are setting. First of all ARMA2 is a 32bit process so it cannot use more than 2.5GB ram at a time, this limitation applies to both 32 and 64bit operating systems as it is an addressing issue with the process, not the operating system. Secondly, i know for servers that if you set it higher than 2047 it will default to that since its the max the game can allocate.

Where did you get this information from heh, sounds very strange to me. Trust me any 32bit application can use more than 2GB RAM (usually programmed for it not to happend) but when a game tries to use more it'll crash if it isn't large adress aware enabled (let's call this LAA), I just assume this game was since it's a simulator but I'll check the headers of arma2OA.exe and see if it is /I'll report back on that. If it is set to LAA I'll try to make the game use more than 2GB RAM and see if the server changed any settings on the client.

-Edit- Just noticed that with cpucores=4 my GPU usage has shot up to 90% (makes no sense i know!), i'll see how it goes now

Yeah I've noticed that too, it just does that for some reason, it's great though, but weird =)

I think you are allocating a GB of ram for each cpu, ie cpu=4 so 4x1024 which would be within the 32bit restriction stll.

No it doesn't work like that =) Would be great if it did though.

I guess people with 8 gig of ram could set it even higher and still be within the 32bit limit?

The game would crash and is not recommended if it would hit over 2GB/4GB RAM (exact info on that later tonight when I'm at home), but it would be hard to get this game up to 4GB, I can't see it happend if you don't modify it so it has a memory leak or something similar to make the game have an abnormally high RAM usage. Just theoretically, who wanna mod their game so it crashes all the time *wink* Don't set it to more than 4096 atm. If it does crash with that parameter, remove it or lower it to 2GB. You won't be getting a message like "this program has hit the 32bit limit" or similar, it'll just crash that's all. I'll clear that up as the game could crash for various reasons other than RAM usage.

Share this post


Link to post
Share on other sites

60C at 4.8ghz is pretty impressive

Thanks, my goal was when I built the compter was 1: Fit in a MIDI-Tower 2: Good ventilation for overclocking 3: Quiet, I'm very happy with my build but not the graphics cards though, I'll buy new ones soon, reference coolers are just soooo bad, GPU's pushes heat out the back and then brings it in again and ignores the cool breezing air inside. I don't get it lol.

Edited by Jenxie

Share this post


Link to post
Share on other sites

As with the maxmem setting, there are 2 problems with what you are setting. First of all ARMA2 is a 32bit process so it cannot use more than 2.5GB ram at a time, this limitation applies to both 32 and 64bit operating systems as it is an addressing issue with the process, not the operating system. Secondly, i know for servers that if you set it higher than 2047 it will default to that since its the max the game can allocate.

Some basic info about LAA on MSDN: http://msdn.microsof...x#memory_limits

Screenshot:

http://www.grahm.nu/LAA.png

maxmen 4096 is perfectly fine and definitly has an effect on some systems, but as I mentioned, I have a hard time getting over 2GB but I like to have "some" overhead hehe, just connected my secondary screen so I could check it (quick test, not playing for hours), might be different when playing for longer times and/or more objects rendered (logged in outside of a city) etc. My system usually is below 1.8GB so that's not a problem for me. So the first problem is not actually a problem it's more of a solution. If your on a 32bit OS with an LAA enabled application it can handle up to 3GB RAM not 2.5GB and without LAA it's 2GB not 2.5GB. Your second statement that it's a problem also I think is kinda weird, why would the server care about how much RAM your client is using on your own machine? That dazzles me, I won't investigate further on that issue if not presented with official information about the subject, anyone can claim anything and I won't spend time to check if it's true or not. In this case I'll assume like the first one that's it is really strange if the server would even care about if there isn't a very serious reason behind it, even less when the dev's activate LAA flag while compiling why they would spend time programming something like that serverside not to mention the implemented parameter -maxmem it's just too weird of a claim, for me it would just be easier to not activate LAA, problem solved. Could be true though just like everything else, it could ;)

I gave a thought to why the GPU's get more loaded when seperating threads to the CPU and I would think it's because the textures has it's own passage and reaches the GPU alot faster for processing, just a thought though I'm not into how graphics/rendering works much sadly.

For everyone else, of course if you only have 4GB RAM in your system you should lower it depending on how much free RAM you have, save some overhead to incase the system uses more RAM in the background.

Edited by Jenxie

Share this post


Link to post
Share on other sites

Ahh i stand corrected. I'm always forgeting about LAA apps ><. As for the 2.5GB i must be getting things mixed up, my memory is rather crappy :P Do seem to recall an app i made a while ago crashing out everytime it hit 2.5GB usage due to no more memory (yay for memleaks!) but i guess it was actually using more.

With the maxmem setting i was referring to this: http://community.bistudio.com/wiki/Arma2:_Startup_Parameters#Performance

I was saying i know this is the case with servers and was assuming its the same for the client which seems like it is (unless that page is outdated)

Your theory on why the gpu usage is higher seems logical and would explain it well :)

Share this post


Link to post
Share on other sites

Ah ok now I understand, thanks for clearing that up =) the official information seems outdated, following the link in the -maxmem area brings us to an article from 2008 and on the bottom of that it states:

This memory handling will be published in the upcoming 1.11 patch, and I hope you will like it as much as I do.

I checked 1.11 patch notes but can't find just as clear information on the subject so I've e-mail them about the issue and asked them if they can update the wiki to a more up-to-date information. I'll also look into how to tweak/stabilize/improve performance (this also seems to be a huge issue) and update the thread or make a new one on how to do that. I'll try Windows 7 memory allocator now and see what happends ;) I'll also try to pinpoint on what removed the artifact glitching because I wanted to play baadly so pretty much what I did was 1: didn't work, added 2: didn't work, added 3: WORKED then wen't to forums to share if anyone else was annoyed as me :P I don't know what actually solved it or what combination but I'll give it some time to clear that up, got time this weekend (can't play in it, but can play with it :P).

Share this post


Link to post
Share on other sites

Where do i put

C:\Windows\System32\cmd.exe /c start "high" /high "D:\ArmA 2\arma2OA.exe" -mod=F:\@dayz -nosplash -world=empty -maxmem=4096 -cpuCount=4 -exThreads=7

?

edit: im using dayz commander

edit2: im using steam

Edited by kill4fun

Share this post


Link to post
Share on other sites

Where do i put

C:\Windows\System32\cmd.exe /c start "high" /high "D:\ArmA 2\arma2OA.exe" -mod=F:\@dayz -nosplash -world=empty -maxmem=4096 -cpuCount=4 -exThreads=7

?

edit: im using dayz commander

edit2: im using steam

I'm just using a shortcut from the desktop since I don't have/use Steam or DayZ Commander, I don't know really how todo it with Steam, no clue how the gamefolder looks like =/ It should have a parameter function for games and a shortcut function, I would guess you set in parameters "-mod=F:\@dayz -nosplash -world=empty -maxmem=4096 -cpuCount=4 -exThreads=7" without the quotes and create a shortcut to the desktop and put "C:\Windows\System32\cmd.exe /c start "high" /high" without the quotes in front of whatever is in the target-field (or equal) section. If anyone knows please help, I'm guessing here ;) Almost all games has parameters to use so I can't see why this wouldn't exist =)

Edited by Jenxie

Share this post


Link to post
Share on other sites

Alil update, I've really tried getting rid of the graphics artifacts/glitches but there's ALOT of disk-queuing going on, I've tried simply to put some files which I can find in the logs (external to anything related to gaming) to a different harddrive but this doesn't really help, would need more drive to get rid of it =/ That's how much queuing going on (up to 30ms which is alot I think) but I will try to come up with a more simple solution, I've got some other solutions but too technical for it so be simple. Also it's possible to run the game in 120Hz mode, if on Windows 7 there's a configfile located in C:\Users\YOURUSERNAME\Documents\ArmA 2\ArmA2OA.cfg, here you can set "refresh=120;" that will up the fps-max in-game with V-Sync enabled from 60 to 120. If I run/drive vehicles in the wilderness I'm getting around 90 fps wich is really nice with high settings. Off course this will require a 120Hz screen for it to work.

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

×