Jump to content

axeman

Developer
  • Posts

    1420
  • Joined

  • Last visited

  • Days Won

    30

Posts posted by axeman

  1. Something definitely going on there and should be resolved to keep the CPS steady.

     

    Keep an eye out for the clean-up not running as well, vehicles not simulating as quickly and player / vehicle data not saving to the DB as quickly. Are some of the things that may be effected by low CPS.

     

    Why the amount of building objects should influence this is a bit of a wonder. What is the time difference between the troughs in CPS. I am assuming something is running at those times for the duration of the trough.

     

    The fact that it is fine on windows and enableHT is causing mischief does point to a non Epoch issue but am curious. More testing needed for sure :)

  2. It would be interesting to find if there are CPS hits causing issues, would be more interested in client side CSS. Though server side CPS shouldn't hit client side directly. AI on the server could definitely be effected by a drop in CPS. I don't see ASM stopping working any time soon, is fairly basic info being queried.

  3. Every additional object has an effect as the engine needs to be aware of it in some capacity, server and client.

     

    The book is still out on this and was touched upon during the server performance chat the other night. But, there is a consensus that when objects are at a further distance from a client the client is less 'aware' of them, this can be demonstrated with AI run by a HC, the AI will have issues with player position when a long way from the HC position. TBH, I don't know how much this has improved with A3.

     

    The server has to be aware of all objects, again I would expect some optimisation by the engine as vehicles and custom placed objects with no players nearby play no part in active gameplay.

     

    Try running an ESP on all vehicles and players on a busy server to demonstrate the hit when collecting info on all objects. 

     

    Hasn't one of the latest server builds increased the amount of objects? 

  4. Looking at the code on the git, it seems to be using the fn_asm.fsm itself to evaluate how fast the FSM conditions are evaluated (more accurately how many are evaluated during a set time in the .fsm). As fn_asm.fsm is running via .fsm it will slow along with other FSMs as the server takes load.

     

    The FSM Conditions are the yellow diamond shaped FSM objects where you decide if a condition is met and if to perform an action in that condition object or pass the routine to another FSM state.

     

    pseudo_fsm.jpg

     

    These conditions are called every tick and can also hold a pre-condition, which is run before the check is made, and an action, which is run if the condition is met. Without careful consideration these can grow and make many unnecessary calls to the engine.

     

    I have been religious in reducing the impact of these, as a rule, by declaring vars that may be called more than once, e.g. the value for getPosATL player. Also applying scheduling helps to not make too many calls. For example, do you really need to update how dirty a player is ever single tick, probably not..

     

    In this pseudo fsm you have 4 conditions to check. That said not completed will be checked more than once during a single loop. The code shown is a scheduler within not completed to try and limit the impact if any actions were taken, the scheduling / timer check is still made every tick though. Still refining the scheduling methods..

     

    That's just from a quick glance at the ASM code so if I have missed anything apologies..

     

    EDIT: That code condition would actually be something like: 

    diag_tickTIme - _doCheck > 3 && !_taskCompleted;
    
  5. Ooh. The controls are on the wiki if you need a guide. Physics, well it kinda works like.. well, physics, as in things fall down. Granted there are some pinging base parts opportunities but please enlighten us on how to stop arma launching things into orbit and you'd be on your way to making a mod ;) 

×
×
  • Create New...