Jump to content
Sign in to follow this  
Der_Richter

Advanced performance investigation (data needed)

Recommended Posts

Hi,

I wanted to point out that I often use ProcessExplorer by Mark Russinovich to look at performance ratings. I love it.

Just google ProcessExplorer.

You can see the different threads ARMA3 uses. ARMA3 seems to use only one thread. Sadly it doesn't show CPU performance per core, when viewing specific executables - only looking at the whole system. Just explore a bit, it has many uses.

Share this post


Link to post
Share on other sites

Sadly, when I see the performance taking a dip, I also see that a TON (low GPU usage and a lot more CPU load to spare) of resources are not being utilized. That gives me hope BI will optimize that, since it's not the case of anything bottlenecking the game (other than the code itself).

Share this post


Link to post
Share on other sites

Measured using FRAPS.

Interesting side note is that the CPU core utilization according to the monitor board is only ~45% total, however load on bus (queue for CPU) is 100%

So the CPU queue is getting overloaded? So basically more data is being sent from the memory than the queue can hold?

Share this post


Link to post
Share on other sites
So the CPU queue is getting overloaded? So basically more data is being sent from the memory than the queue can hold?

If i would dare a guess i would say large chunks of "something" being stored in memory as a single bitmap and transfered as one chunk, probably object data for the GPU, this will stall the buffer like this. But since my knowledge of the RV3 engine is as good as anyone elses not working for BIS i'd just take it as a general area of investigation.

I don't think rendering is defered to it's own core, it must be sharing with something...

Share this post


Link to post
Share on other sites
http://www.bistudio.com/english/company/developers-blog/91-real-virtuality-going-multicore

I don't know if you've read that. It talks (a bit) about the threading capability of the rendering process.

Interesting intel there... And yes i would agree with the points raised, although it is not really the problem. Threads is one thing, but when we can see 40% TOTAL cpu usage while the simulation as well as rendering thread grinds to a halt something is locking it. Its not the cpu being bogged down as much as it seems to be routines taking a long time to complete.

As for resource sharing, my work in the past in similiar fields was constructed so that we put a render thread that was constantly fed by calculation engines on multiple threads. This however was possible when locking the update tick of the calc threads to a peedetermined rate. This would imply locking the framerate as well, to keep the render thread sync to calcs. This way the grunt work was theeaded but fed the gpu pipeline at the same sync, and the pipe counted on not being fed data out of sync.

I was working on predetermined hardware with smaller subset of simulation however so i can understand the woes of bis on this one...

But as stated, i think the 40% total cpu time usage is more worrying, than how it spreads on the cores and spawns threads as that would indicate some single thread routines taking their fair time to process. Or in fact, a deadlock, where it is threaded, but the threads wait for eachother far too long.

My opinion without knowing jack about this particular engines internals is that it is related to movement of objects and specifically AI.

Share this post


Link to post
Share on other sites

can you imagine how smart the ai will be if it gets its own dedicated thread?

Share this post


Link to post
Share on other sites

Ok.

Further measurements that i have done over a longer time has now led me to the conclusion that GPU is not under large pressure,

regardless of settings. However, what really kills the framerate is object count. High detailed objects choke the FPS like mad.

But contrary to what you may think it does not choke the GPU at all, it brings the CPU down. The more objects that happen to be

in your viewpath (accounting also VD setting), the worse the CPU load at least on one core. The same behaviour can be found for A2 as well...

A small question to a dev, if possible... Is there reason to believe this is due to preprocessing of frames loading all geometry on

the CPU?

Lower your Object Detail and you should never drop below 60 fps, at least i don't...

Share this post


Link to post
Share on other sites

I do my benchmark testing in the town from the sign after the garage towards the radio tower for 60s by following the line in the middle of the road that way its the same route every time.

Share this post


Link to post
Share on other sites

Heres some information and settings:

Windows 7 64 bit

I5 2500 3.3ghz

GTX580 1.5GB latest drivers

8GB DDR3

Raptor 300 and 120 GB hardrives 10000RPM

Thermaltake level 10 gt

i start my test from the sign in the town with fraps for 60 seconds and finsh towards the radio tower following the line in the road.

by putting oject detail to standard i averaged a gain of 10 fps.

2013-03-24 19:15:23 - arma3

Frames: 3761 - Time: 60000ms - Avg: 62.683 - Min: 54 - Max: 77 WITH HIGH OBJECT DETAIL

2013-03-24 19:20:53 - arma3

Frames: 3755 - Time: 60000ms - Avg: 62.583 - Min: 53 - Max: 76 WITH HIGH OBJECT DETAIL

2013-03-25 15:50:27 - arma3

Frames: 3697 - Time: 60000ms - Avg: 61.617 - Min: 53 - Max: 79 WITH HIGH OBJECT DETAIL

2013-03-25 15:54:54 - arma3

Frames: 4487 - Time: 60000ms - Avg: 74.783 - Min: 64 - Max: 97 WITH STANDARD

2013-03-25 15:57:27 - arma3

Frames: 4519 - Time: 60000ms - Avg: 75.317 - Min: 64 - Max: 96 WITH STANDARD

2013-03-25 16:06:23 - arma3

Frames: 4348 - Time: 60000ms - Avg: 72.467 - Min: 62 - Max: 90 WITH STANDARD

2013-03-25 16:08:31 - arma3

Frames: 4487 - Time: 60000ms - Avg: 74.783 - Min: 62 - Max: 92 WITH STANDARD

photostream

photostream

photostream

photostream

images above show settings and start point i used. If you guys done the same settings and posted specs and fps data we could compare i no its not intense but it is in the town and easy to do.

sorry not sure how to add my images so heres the link

http://www.flickr.com/photos/94398048@N06/8590748678/in/photostream/

Share this post


Link to post
Share on other sites
Heres some information and settings:

Windows 7 64 bit

I5 2500 3.3ghz

GTX580 1.5GB latest drivers

8GB DDR3

Raptor 300 and 120 GB hardrives 10000RPM

Thermaltake level 10 gt

i start my test from the sign in the town with fraps for 60 seconds and finsh towards the radio tower following the line in the road.

by putting oject detail to standard i averaged a gain of 10 fps.

2013-03-24 19:15:23 - arma3

Frames: 3761 - Time: 60000ms - Avg: 62.683 - Min: 54 - Max: 77 WITH HIGH OBJECT DETAIL

2013-03-24 19:20:53 - arma3

Frames: 3755 - Time: 60000ms - Avg: 62.583 - Min: 53 - Max: 76 WITH HIGH OBJECT DETAIL

2013-03-25 15:50:27 - arma3

Frames: 3697 - Time: 60000ms - Avg: 61.617 - Min: 53 - Max: 79 WITH HIGH OBJECT DETAIL

2013-03-25 15:54:54 - arma3

Frames: 4487 - Time: 60000ms - Avg: 74.783 - Min: 64 - Max: 97 WITH STANDARD

2013-03-25 15:57:27 - arma3

Frames: 4519 - Time: 60000ms - Avg: 75.317 - Min: 64 - Max: 96 WITH STANDARD

2013-03-25 16:06:23 - arma3

Frames: 4348 - Time: 60000ms - Avg: 72.467 - Min: 62 - Max: 90 WITH STANDARD

2013-03-25 16:08:31 - arma3

Frames: 4487 - Time: 60000ms - Avg: 74.783 - Min: 62 - Max: 92 WITH STANDARD

http://www.flickr.com/photos/94398048@N06/8589643037/in/photostream

http://www.flickr.com/photos/94398048@N06/8590746016/in/photostream/

http://www.flickr.com/photos/94398048@N06/8590747716/in/photostream/

http://www.flickr.com/photos/94398048@N06/8590748678/in/photostream/

images above show settings and start point i used. If you guys done the same settings and posted specs and fps data we could compare i no its not intense but it is in the town and easy to do.

sorry not sure how to add my images so heres the link

http://www.flickr.com/photos/94398048@N06/8590748678/in/photostream/

The most important setting for benchmarking is the view distances total and object... The fancy graphics are not that straining and pretty well optimized as it is... Try the same at a total view distance of 3800 with objects at 3200 or so and you will see what i mean :) What distances did you use when getting your numbers now?

Oh, and since the new update i can see a good increase.

4ghz. Quad core and gtx680 4gb with ssd and high speed 8gb. Ram now yields playable 25 to 50 fps in most situations. So for more fps you need say... 4,5 ghz. Cores. :)

---------- Post added at 06:59 ---------- Previous post was at 06:53 ----------

By the way, small edit, has anyone seen yet what the default view distances are online when set by the server?

Share this post


Link to post
Share on other sites

There were two Arma2 OA beta builds released last year that included some internal performance monitoring commands, enabling a graphical report of time spent by various aspects of game code rendering one frame, which may interest you. Unfortunately I do not remember the build numbers, but avoid the first release had some issues with AI causing occasional slow frames and lockups, while the second had this issue corrected.

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  

×