[CF-Devel] Status update

Andreas Vogl andi.vogl at gmx.net
Sun Jan 14 10:22:47 CST 2001


Mark W. wrote:

>
     
      > 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?
     
     >
     
     
     >
     
      Not much has changed recently with the socket code that I am aware of.
     
     
New cmds have been created for PR, metaserver stuff has been added.. etc.
There have well been changes to the socket code.

>
     
      I will note that there could be several causes with the 'block of
     
     >
     
      updates at once':
     
     >
     
     
     >
     
      1) crossfire server is chewing up its time doing expensive processing,
     
     >
     
         and when it finally gets around to dealing with the player, it has
     
     >
     
         lots of processing to do, so it does a lot of player processing at
     
     >
     
         once, hence a block of updates.
     
     >
     
      2) Could be similar to above, but the problem is more that the socket
     
     >
     
         buffers as maintained by the OS are emptying, so it may not be doing
     
     >
     
         much player updating, but the block of data could be caused by the
     
     >
     
         fact that the socket (OS buffer) gets filled with a bunch of data
     
     >
     
         it sends to the client.
     
     >
     
      3) Could be something got broken, and the server is just sending a lot
     
     >
     
         more data that it did not send before or is not re-filling buffers
     
     >
     
         when it should.
     
     >
     
     
     >
     
      It would be interesting to get some cpu statistic at the time of observed
     
     >
     
      behaviour.  IS cpu time maxed out (at least relative to number of cpu's,
     
     >
     
      since crossfire will only use one cpu)?  The cpu load is reasonable, that
     
     >
     
      would point to some issue with the socket code.  IF cpu is maxed out, then
     
     >
     
      probably #1 or #2 is the cause, but the real fix is not to max out cpu
     
     time.

I am absolutely sure that the CPU is never maxed out. I get this "disrupted
character movement" when I'm playing alone on one server with formidable
connection speed. When there are ten other players online, behaviour
is *exactly* the same.

No doubt, the reason must be #3. Don't forget that this problem did not
exist
on servers of older CVS-versions. (There was lag when I entered a room
full of spellcasters, but there was definitly no diruption when I
entered a room full of trolls!)


Andreas V.


    
    


More information about the crossfire mailing list