Why is there raid lag?

Discussion in 'The Veterans' Lounge' started by Deckerd Smeckerd, Nov 25, 2021.

  1. Jumbur Improved Familiar

    I doubt the 64bit client upgrade will affect lag much, the main reason for updating the client seems to be because they want use the extra memory to increase graphical detail.
    The server lag is probably because there is so much happening in the game nowadays. the game is much more spammy and there is stil a lot of procs and swarm pets, etc. I think the server(and network-architetcture) was originally designed for a much more slow-paced game, and DBG just kept adding complexity to the game, until the server was pushed to the limit.
    Windance likes this.
  2. Deckerd Smeckerd Augur

    For combat situations, the HP bars of the characters in a scene and the addition or subtraction from those HP bars represent the results of a bunch of processing on the server side. Character locations in the scene and the changes to those locations represent the results of a bunch of processing on the server side.

    Probably a data item like HP value has a value and has a list of modifiers that are applied each cycle. So there might be a permanent modifier for natural regeneration that alters the HP value by a positive amount. If a DOT is cast on a character, there is a negative modifier added to the list and a number of ticks. Makes sense from what I have seen of the spell data.
  3. Tucoh Augur

    Nobody knows, probably not even DPG devs.

    My guess is too many operations per second stacking up every year. I've heard from "anonymous tipsters" who work at the server farms DPG uses that DPG is too cheap to rent the hardware necessary to handle EQ's load. But that's all just hearsay.
    Waitwhat likes this.
  4. Kazint Augur

    Spell lookups being slow is a DB problem. Buff limits and limiting procs are aspects which help performance not hurt it. Not sure how you got that backwards.
  5. I_Love_My_Bandwidth Mercslayer

    You are lost in the tall weeds, Kazint. May the merrymen have mercy on your soul.
  6. Windance Augur

    [quote="Jumbur, post: 4084802, member: 425518"
    The server lag is probably because there is so much happening in the game nowadays. the game is much more spammy and there is stil a lot of procs and swarm pets, etc. I think the server(and network-architetcture) was originally designed for a much more slow-paced game, and DBG just kept adding complexity to the game, until the server was pushed to the limit.[/quote]


    You nailed it Jumbur:

    If you go back a play a level 1-20 character using just gear from that era. You will notice is how slow the pace of the game is.

    Spells are all 3s+ to cast. CH is 10s. Attack speeds are slow, very few 'extra' spam skills. No weapon procs, no item procs, etc.


    As the game progressed and they shortened the time between casts, added 'flurry', spam pets, multiple procs, spells that cast multiple effects.

    The amount of 'work' the server CPU has to do each time slice goes up. IF you ask the server to do too much work each tick then it will not be able to keep up and things get laggy.

    Solutions are:
    - More hardware. Faster CPU is able to do more work per second.
    - Spread out the servers so each runs on its own CPU.
    - Optimize or reduce the code complexity so the server CPUs don't have to work as hard.
    Xianzu_Monk_Tunare likes this.
  7. Kaenneth [You require Gold access to view this title]

    It's not hard to figure out what code a program is spending the most time on, you just interrupt the code once every few seconds, and log what function it's currently in. Do that a few million times, and you can statistically see what code is running the most (or waiting on external inputs the most) to target speed improvements.
  8. Windance Augur

    There are tools you can run to "profile" your code, doing what you describe in an automated fashion with out the need to "interrupt" the code.

    I've done some profiling and even with the tools it can be very difficult to trace through the functions and find code that can be optimized. Worse yet, writing 'optimized' code can often make the code much harder to read for the next person to work on.

    I just watched a very interesting ( to me ) on code profiling under linux.

    Xianzu_Monk_Tunare likes this.