[CF-Devel] Status update

Andreas Vogl andi.vogl at gmx.net
Sat Jan 13 07:46:50 CST 2001


Thanks for the status update darth bob, it's good
to see a summarizing from time to time.

But there is one thing left that we *must* do before 1.0.
That is: Rising server performance!

Remember what MichToen wrote about one week ago:

>
     
      When i play around with the 2 version, it looks to me, that we
     
     >
     
      have 2 effects:
     
     >
     
     
     >
     
      - a performance breakin in some cases
     
     >
     
     
     >
     
      - the server sends cmds and updates as blocks, with lags
     
     >
     
        between 400 - 600ms and highs above 750ms.
     
     >
     
     
     >
     
      The last effect let you jump through the actions. Often you got a
     
     >
     
      block of dozens of cmds&updates, then nothing. Funny thing is, that
     
     >
     
      the effect is not effected by number of player onlines. I have it
     
     >
     
      when i play alone, also with 9 players there is no difference!
     
     >
     
     
     >
     
      The 95.7 version don't do it!
     
     
What MichToen has discovered here, it is 100% true!
I have proven this for myself, we do have a serious server-sided
performance problem right now. It appears on all clients just
alike. The characters don't ever move smooth in combat, no matter
how good my connection is.

I suspect there are two reasons:

1) SPELLS. Not that this is a new issue, but the new attack functions
   might have increased the time needed to process the immense
   amount of spell-effects that appear in combats. Anyways, if
   we ever want to make CF fit for "mainstream", there is no
   other choice: We must work on the spell-problem.
   
   A personal idea how we could solve this problem:
   Seperate the processing of spell-effects. On the map, there
   appear only "spell containers" - ONE object per square containing
   all spell effects of the same class (e.g. fire, cold.. etc).
   The processing of spell-effects happens internally between
   the spell containers. When this is done, damage is summed up
   and transferred to the spell container object. Only this one
   object is then used for map-processing like hit_map().
   And only one object (per spell-class and square) is visible to
   the player and client!

2) SOCKET. I have no proof that this is true. But the fact that
   commands get updated as blocks leads to the suspection
   that the recent changes to the socket-stuff might also
   be involved here. I get this "disrupted character movement"
   in rooms with lots of non-spellcasting monsters as well.
   Of course to much lower extent, but still noticeable.
   Or am I wrong and this is caused by something else?
   Anyone got ideas?


Andreas V.

    
    


More information about the crossfire mailing list