Jump to content
Dedmen

Server FPS limit testing

Recommended Posts

Will probably change the title and make this thread a little bit nicer. Have to go to bed soon just wanted to get this up quick as a place to post feedback.

I have patched the Arma 3 server binaries to change the server FPS limit from 50 to 200. Interest by the community was quite big so far so I decided to move it to here so we can collect testing data more easilly.
This is a completly unofficial modification but BI is probably also interested in the results.

 

It is literally just one byte patched for each binary.

 

 

I would recommend you to change the offset yourself using a Hex-Editor.

 

1.80
x64 prof v0 0x128C3DB

Linux prof v0 0x1277469 (On linux you need to set that number as small as possible. I choose 1)

The value is by default 0x00000032 (32 00 00 00 in hex editor). Which is hex for 50.
That is the fps limit. 64 00 00 00 would be 100. and 29 23 00 00 is 9001.

If you need help with patching you can PM me.

 

I only provide data for the Perf/Prof builds. Because these are most interesting.

 

Because the limit was now removed the servers will run as fast as they can. Making it possible to easilly compare linux vs windows servers now. Would also be interested in results concerning that.

When testing pay attention to AI behaviour and networking, desyncs and stuff.

 

This DOES NOT INCREASE SERVER PERFORMANCE. It simply removes the 50 fps limit. Meaning if your server was running with <50 fps before it will still run exactly the same. But if your server never goes below 50 fps usually then this will make it run at higher fps/cycles per second. Which could have benefits or maybe not.

 

 

Reddit post: https://www.reddit.com/r/arma/comments/6zwq7e/arma_server_without_50_fps_limit/

  • Like 8

Share this post


Link to post
Share on other sites

Confirmed Altis Exile 91 fps.

Confirmed on Altis Escape mission different dedicated box Solid 91 

Confirmed on Takistan Server solid 90 -91

https://prnt.sc/gkrf32

 

 

Share this post


Link to post
Share on other sites

Once you start putting lots of AI down it doesn't seem to make much difference. These are very basic numbers taken from the same mission. There seems to be a slight increase in client side FPS.

 

4 PLAYERS NO AI MALDEN
SERVER FPS:46
Flax:86
Steele:52
Ward:90
Withers:71

4 PLAYERS 100 vs 100 AI IN TOWN MALDEN
SERVER FPS:21
Flax:23
Steele:23
Ward:25
Withers:25


MAIN BRANCH 200FPS BINARY

4 PLAYERS NO AI MALDEN
SERVER FPS:168
Flax:83
Steele:54
Ward:88
Withers:71

4 PLAYERS 100 vs 100 AI IN TOWN MALDEN
SERVER FPS:19
Flax:26
Steele:25
Ward:27
Withers:22

 

Share this post


Link to post
Share on other sites

In the end its primarily window dressing. Removing an arbitrary limit does not make everything else in the simulation go faster. That is where the real issues are.

  • Like 4

Share this post


Link to post
Share on other sites

This will make zero difference in actual usage as its just removing a hard coded idle cap.

  • Like 2

Share this post


Link to post
Share on other sites

Neat. It's a small step but a step in the right direction.

As far as I can see there are two main things that need to be done to make a massive change to MP play in ArmA

  1. Somehow break the link between server and client fps units bouncing around at 60pfs is far better than everything at 12fps
  2. Break whatever cause players with crap internet connections (me included) dragging the server down. I've been sitting there waiting to get into a mission (thinking has it crashed) and then someone quits out and boom straight in. 

Nice work Dedmen I hope this change does make it to vanilla so I have more than just 50fps to aim for when optimising. 

 

  • Like 1

Share this post


Link to post
Share on other sites

This should only be helpful if you run small scale PVP missions.

The amount of benefit will reduce the bigger missions and more players you have.
This might be good for when you use headless client 'tho.

Keep those server scripts running quick and more updates per second.

Share this post


Link to post
Share on other sites

Agree INF_MIke64 it is certainly a step in the right direction, excited to do more tweaking testing with this. 

Share this post


Link to post
Share on other sites

I also have seen a 10%-20% reduction on CPU draw and strain, including less memory usage, overall I am happy and will continue to test the limits, and report the progress. Waiting for more results as hardware and networking scenarios will play a big part in the dynamics across the board. I am certain that on the hardware side of things especially servers with the NB freq in the 4500 Mhz range, Overclocked CPU's and fast memory and NVME m.2 storage will see the benefit. Post your results! I will test over the next few days myself and my community on various scenarios to get a baseline result. The next question is, has anyone tested the Linux variant yet?

Share this post


Link to post
Share on other sites
1 hour ago, RCANTEC_RyanD said:

Confirmed Altis Exile 91 fps.

Confirmed on Altis Escape mission different dedicated box Solid 91 

Confirmed on Takistan Server solid 90 -91

https://prnt.sc/gkrf32

 

 

 

 

Did you have any players on your server during these tests?  From your picture, it looks like the server is idling away (4Kbps out, 3Kbps in -  looks like no network traffic)

  • Like 3

Share this post


Link to post
Share on other sites

The picture was from the first server as a test, was just me, the other test, with players from 2 to 5, 2 seperate boxes, 3 kinds of missions, ! server is heavily modded Takistan server, the other is a Escape server for a mission i'm working on, and the last test I did on my Altis Exile server which is the x64 variant. I've done a little more testing and there is a significant increase on my Takistan server, we are going to go through some more testing, to see how much we can push it, I am using the first variant, the 100 fps 1, I haven't tried the 200 fps 1 as of yet. Need to get a few pilots in there, activate a few more a/o's see how it goes, from where it was before with the "stock" exe, it is an improvement nonetheless. 

Share this post


Link to post
Share on other sites

Normally on the Takistan server with 5-10 players and 200 ish AI, and several AI support requester units, cas, heli and arty, in the same scenario location it would be in the 25-35 range, so to see it at 83-91 was impressive. Notwithstanding prior to this and a few other tweaks the server was a steady 17 fps, consistent, same mods, same mission, same players. So for me personally to go from 17 ish normal, to 83 is still enough for excitement. Of course there are always going to be the naysayers that will try to poke holes into everything, but I don't mind, I am enjoying the performance bump. Additionally, this is on a dedicated box, running Windows Server 2016 in a Hyper-v vm config with 3 nics' in a team, the specs for this box, is a i3 6100 , so for 2 cores, and 16 Gib of ram, to see this, I am impressed. Let the flames begin. My other Dedicated box has a i7 6700k, with 64 Gib. Both servers are flash only, NVME m.2  

Share this post


Link to post
Share on other sites

What needs to be tested is Headless Clients, to see if offloading all AI to HCs still keeps high server FPS. And if that's a yes, does that in return results in higher client FPS.

 

I have heard various reasons for the 50fps limit before, some of them being too high jumps, messing with simulation, and diminishing returns at higher player/AI counts.

  • Like 1

Share this post


Link to post
Share on other sites
34 minutes ago, RCANTEC_RyanD said:

Of course there are always going to be the naysayers that will try to poke holes into everything,..... Let the flames begin.

 

 

I was only asking a question.  No need to be so defensive.

Share this post


Link to post
Share on other sites

I'll be keeping an eye out on this thread for sure. Any chance, no matter how small, for MP performance increases is worth watching. Thanks for sharing @dedmen. :)

  • Like 1

Share this post


Link to post
Share on other sites

Basically it does nothing but create more fluctuations in the main loop / FPS. 
Instead of little drops and ups from around 2/5 FPS / CPS i see drops and ups going from 3 / 150.

When spawning more AI and players connect the server actually needs to do more work to keep up with the +50/150 frames you want and drops faster.

Certainly i need to take into account that i dont have the best server and a higher clock speed would definitely show different results but not very different.

 

7 hours ago, jonpas said:

What needs to be tested is Headless Clients, to see if offloading all AI to HCs still keeps high server FPS. And if that's a yes, does that in return results in higher client FPS.

 

I have heard various reasons for the 50fps limit before, some of them being too high jumps, messing with simulation, and diminishing returns at higher player/AI counts.


I can really agree with the above, the limit might also be there for a reason. 

Running a server at 180 fps is useless. 

Share this post


Link to post
Share on other sites
9 hours ago, das attorney said:

 

 

I was only asking a question.  No need to be so defensive.

Oh no I didn't mean you, I was just seeing some other comments.

Share this post


Link to post
Share on other sites
10 hours ago, jonpas said:

What needs to be tested is Headless Clients, to see if offloading all AI to HCs still keeps high server FPS. And if that's a yes, does that in return results in higher client FPS.

 

I have heard various reasons for the 50fps limit before, some of them being too high jumps, messing with simulation, and diminishing returns at higher player/AI counts.

 Planning on testing that tonight or this weekend. Will post results back when I have them.

Share this post


Link to post
Share on other sites
15 hours ago, INF_MIke64 said:

Neat. It's a small step but a step in the right direction.

As far as I can see there are two main things that need to be done to make a massive change to MP play in ArmA

  1. Somehow break the link between server and client fps units bouncing around at 60pfs is far better than everything at 12fps
  2. Break whatever cause players with crap internet connections (me included) dragging the server down. I've been sitting there waiting to get into a mission (thinking has it crashed) and then someone quits out and boom straight in. 

Nice work Dedmen I hope this change does make it to vanilla so I have more than just 50fps to aim for when optimising. 

 

 

erm there is no link in FPS between client and server that was removed ages ago

that apply in terms of dragging performance down unless either side drops below 20

 

if server is below 20, it's very wrong, the longer the worse until unplayable state (choked slowly)

(even if you don't see the server and client predicts states, compensate positions or discard the obsolete messages)

 

if client is below 20 then it's wrong too and over time it means more work for server ... 

 

but if server runs e.g. 40 fps then client can run 60 (or 100 or more ...)

  • Like 2

Share this post


Link to post
Share on other sites
17 hours ago, Schwaggot said:

Out of curiosity, is this supposed to be used for benchmark testing only, or can I run it during missions? 

This should be stable.. But as this has never been tested no one really knows what pros/cons this has. It could completly fuck up simulation, physx or AI or whatever.. I don't know.. That's why I published it so we can get some research data out of this.

 

This DOES NOT INCREASE SERVER PERFORMANCE. It simply removes the 50 fps limit. Meaning if your server was running with <50 fps before it will still run exactly the same. But if your server never goes below 50 fps usually then this will make it run at higher fps/cycles per second. Which could have benefits or maybe not.

  • Like 2

Share this post


Link to post
Share on other sites

So far so good,  most players report a smoother experience than before on the Tak server, I too this morning while updating noticed a better experience, luckily having the rest of the day off, going to bust out the dusty Worthog and give her some love ❤️ 

Share this post


Link to post
Share on other sites
1 hour ago, RCANTEC_RyanD said:

So far so good,  most players report a smoother experience than before on the Tak server, I too this morning while updating noticed a better experience, luckily having the rest of the day off, going to bust out the dusty Worthog and give her some love ❤️ 

Could as well be false consensus without any numbers. Especially when it has been shown above that the actual numbers are so close.

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

×