.Doppelpoint

server performance 1.68

25 posts in this topic

1 hour ago, BlackheartsGaming said:

@Eichi 's workaround to temporarily fix this effectively added 700 more objects that are always set to have globalsimulation on now.  The server is working harder to manage all of these things concurrently which is putting a severe drain on the server.  I don't fault him for it, he got a lot of servers back up and running until a better solution is found/released.

Ehm... are you really having 700 doors? If so, it might be cheaper for you to not add them to the simulation manager and leave simulation on all the time?

Share this post


Link to post
Share on other sites
30 minutes ago, Eichi said:

Ehm... are you really having 700 doors? If so, it might be cheaper for you to not add them to the simulation manager and leave simulation on all the time?

@Eichi I was mistaken about your workaround making is so the simulation was enabled all the time.  Your fix, simply switched on global simulation when the object was spawned.  The simulation monitor then shuts it off.  I misread the code.

We have over 10000 base parts on the server and yes 700 of them are doors, gates or hatches.  Further testing revealed they are being properly handled by the simulation manager code.

There isn't any good documentation on EnableSimulationGlobal and how this impacts server performance.  If we were to leave simulation on these on all the time wouldn't that have a negative impact on server performance?  Again, I don't fully understand the concept, but know you did this for a good reason.

Enlighten me o great Arma Script God.

:)

Share this post


Link to post
Share on other sites
Advertisement

What simulation actually means is that some logic is executed per simulated object per frame. So if you have 10,000 simulated objects, your server will simulate 10,000 things every server frame. The more your server has to do, the longer it takes. Thus the processing time for a single frame gets longer and your frame rate drops. There is no technical documentation available for this, but I assume simulation is done in every frame, as this is quite common. Well, at least it was at the time the engine was written.

In Arma, basically, everything is a vehicle. Yes, a stupid car. Even a door or a lantern. This seems to have some evolutionary background and is just the way the game has been designed. Arma does not have as that many stationary objects out of the box. And it does not need to.

There are different types of simulation, though. For example, our walls are of type "building". That is the simulation type that is the cheapest performance-wise. But disabling it completely is even better. Walls etc. do not need to be simulated, but doors need to - or you wouldn't be able to open or close them. As a trade-off, we have added something that we called a simulation manager two years ago. It basically checks if a player is nearby an object that needs to be simulated and if so, enables simulation. If no player is nearby an object that needs to be simulated to function, it disables the simulation of that object to increase performance.

In the newest patch, Bohemia has added an engine-based simulation manager. This confirms the need for it. But I would be careful with this built-in simulation manager - because, Arma. Chances are good new features do not work out of the box. It usually takes a patch or two until they are stable.

I have requested a new type of object in Arma in December 2015. The result is what Bohemia calls "Simple Objects". They are perfect for trader cities, since these are not "vehicles" anymore, but just 3D models that do not have any kind of simulation. These simple objects would be perfect for walls, too, but they lack the functionality of being re-skinnable. And we need this to visualize damage on them. I have requested the option to re-texture simple objects in-game in Summer 2016, but did not (yet?) receive a reaction of Bohemia on that.

I have given up on that.

As a general rule of thumb, ensure your server has no more than 7,000 vehicles/objects. I found this to be the margin where everything starts to go down the drain.

8 people like this

Share this post


Link to post
Share on other sites

@Eichi Confirms what I suspected, but without any official documentation, I could only speculate.  I was already headed down the path of swapping out the Exile simulation with the new Dynamic Simulation to test if it would provide better performance.  It's hard to tell right now with only 1 or 2 players in the dev server however.  In reading the Dynamic Simulation documentation, they are some things that need to be addressed and as you stated will (hopefully) be improved in the future.

Thanks for the explanation.  I really appreciate your time.

Share this post


Link to post
Share on other sites
On 2017-3-21 at 7:54 AM, .Doppelpoint said:

did somone else had crashes with the 32bit arma3server.exe?

I've got a Cherno server that's been running for 9 months and no issues after the 1.68 update (other than performance) but I was in the middle of setting up an Isla Abramia server when the 1.68 update hit and that's now unstable as anything. Nothing in the logs, just hard crashes related to memory violations randomly :(

I think I saw something on the BI blogs saying that there's a known stability issue in 1.68 and they are working on a fix to be released next week.... my fingers are crossed.

And yes, both servers are running 32-bit Arma 3 server.

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.