Page 1 of 16 1234511 ... LastLast
Results 1 to 20 of 303
  1. #1
    Time Bandit
    Join Date
    Oct 2009
    Posts
    1,028

    Default Weapon Effects and Packet Rate Testing

    It has been surmised that one source of DPS lag may be due to network bandwidth limiting (a cap on transmission rate to client) here.

    Eladrin has also said that one possible cause is weapon damage effects (i.e. "flaming" "icy burst" "of pure good" etc.) here.

    Thus from this, a hypothesis can be formed that weapon effects increase the network usage. If a cap on data transmission per client exists, then it's possible that, in a large group, where everyone has weapons with effects, then the network transmission cap is reached trying to send the results of everyone's weapons + weapon effects, essentially throttling the amount of data that the client receives about the current situation. Since the client no longer has an up-to-date picture of what's happening, DPS lag effects start occurring, such as seeing everyone else just standing still, not seeing accurate values for party members' HP, and not seeing correct values of monster HP (which most noticeably occurs when the game gives the "quest success" message yet the monster is still shown as being alive, such as here).

    Why a cap on the transmission rate to the client may cause DPS lag can be fairly easily described. For example, take the case of the monster still sticking around and being shown as having HP even though the client already received the "objective completed" message. The server obviously has already calculated that the monster has taken enough damage to die (and hence, passes out the "objective completed" message to everyone). Presumably it has a set of priorities in terms of which types of messages to send first, and changing the quest objective is presumably high on that list. It then continues sending the damage data to the client, and the client continues processing the damage data (to move the HP bar down). Thus, what the client sees is that the quest is already completed, even though it hasn't received enough damage yet for the raid boss to die.

    Of course, other reasons may explain this, such as the client not keeping up with processing the incoming data stream, but usually those effects can also be determined by looking at the current frame rate of the client. And DPS lag wouldn't particularly explain other types of lag commonly encountered, such as the lag that occurs at the end of each part of Shroud (which I would guess may also occur because the server and/or the client may be trying to pre-load the next part for example). However, if weapon effects do increase network usage, and there is a cap on the transmission rate per client, then it is one possible avenue to explore to decrease DPS lag.

    To test whether or not weapon effects increase network usage, I used two different weapons:

    1) Sword of Shadows: Unfortunately not epic yet, but it doesn't have any magical effects on it:



    2) Lightning 2 GS falchion: In addition to the regular damage, it also has a holy 2d6, a shocking burst 1d6, a force damage 1, a shocking burst 1d10 and shocking blast 1d10 on crits, and an additional 4d6 on a natural roll of 20:



    Note that the total amounts of damage for both weapons are similar.

    I then went out to our favorite test combat dummies, the scrags out in Ataraxia. I then turned auto-attack on and whacked away. This was done on the live servers (Orien), not Lamannia. The video can be seen here:

    http://www.youtube.com/watch?v=OFHJ_Ed3j9o

    I started with the sword of shadows for about two minutes (until around 2:21), then used the lightning 2 falchion for about 2 minutes (until around 4:16). Then, I went back to the sword of shadows for another two minutes (until around 6:14), and then to the lightning 2 falchion again for about 2 minutes (until around 8:19). Then I idled for around a minute (to the end of the video). During this time I (mostly) kept the mouse cursor over the packet rate button in the upper left corner, to see the data transmission rate. The reason why I went back and forth between the two weapons is to decrease the chance of other variables, such as maybe increased server load due to other players coincidentally at around when I was switching weapons.

    Although I haven't gone and tabulated the results (the results can be tabulated fairly easily since the transmission rate information is updated every 2 seconds, but is time-consuming), from the video, it's fairly clear that while using the sword of shadows, the receive rate is around 3500-4000 Bps. Once I switched to the lightning 2 falchion however, the receive rate jumps up to around 5500-6000 Bps. When I switched back to the sword of shadows, the rate goes back down to 3500-4000 Bps, then when I switched to the lightning 2 falchion, the rate goes back up to around 5500-6000 Bps. When idling at the end of the video, the transmission rate was roughly 600 Bps.

    This means that (at least in this test), the data transmission increased by roughly 50% when I switched to a weapon loaded up with weapon effects, compared with a weapon that didn't have any. Thus, having weapon effects does increase network usage.

    As for whether or not a cap on server transmission rate per client exists, I haven't run raids yet the past few days (this week is ostensibly finals week, after all) but it would be something to look for for those guys that are testing DPS lag on Lamannia. In particular, if you see the transmission rate hover near some number (for example, 30000 Bps) for the duration of when everyone is standing still while beating down on a raid boss, then see it come down right when the monster dies according to the focus orb (as opposed to when you receive the "objective completed" message which would be several seconds earlier) then it may be an indication that DPS lag is actually tied to network transmission rate. You may want to consider doing an "all weapon effects" run where everyone loads up on weapon effects (including stuff like the force ritual), to maximize the time between when the quest objective is completed and when the raid boss actually dies, to see if the network usage does affect DPS lag (i.e. if the network usage goes down when the monster finally disappears, indicating that the client has finally received enough damage data to decrease the monster's HP to 0, then this indicates that the bottleneck in giving the client an up-to-date status of the system is due to the transmission rate).

    So if this is the case, then the solution to DPS lag should be to improve how the servers handle data transmission to the client. For example, putting more information into each packet (such as putting all the weapon effects data onto the same packet rather than having a separate packet for each weapon effect) would decrease the number of packets that need to be sent, and thus increase transmission efficiency. Obviously, increasing the transmission rate cap (if it exists) would also work, although there may be capacity issues to this. Even though other optimizations, such as changing how combat calculations are handled (and thus reducing server CPU load per client, increasing the client capacity of each server) is nice, ultimately the root reason for lag should be investigated methodically and corrected to make playing DDO a more polished, enjoyable experience.

    Edit: It does seem like there is a cap on the rate that the server will transmit information to you. The limit seems to be around 20 kBps. I post about it here.
    Last edited by Vanshilar; 06-10-2010 at 04:17 AM.

  2. #2
    Hero Propane's Avatar
    Join Date
    Mar 2006
    Location
    From Wisconsin, Live in Iowa, Vist Wisconsin
    Posts
    645

    Default

    Nice work

    Makes sense to me...

    Calling Sarlona my home - Guildmaster - Brotherhood of Redemption - ddo.borguild.com
    Alts - Propane, Kerosene, Hexane, JA, Waulter, Acetylene, CNG, LPG, Woodpile, Hexyne, Dilithium Crystal, Geothermal, TidalPower, Windpower, Natural Gas, Antimematter, and Coaldust (and a few others)

  3. #3
    DDOWiki
    Join Date
    May 2006
    Location
    Japan
    Posts
    200

    Default

    interesting and well-written. +1.
    My HATE goes UNLIMITED!
    DIV on Thelanis

    Xorphitus*Xiaojjie*Xiaommei
    DDOwiki - Sharing DDO knowledge

  4. #4
    Community Member Deamus's Avatar
    Join Date
    Jun 2009
    Location
    Hellas
    Posts
    522

    Default

    I cannot give you more rep unfortunately ..... Good Job!!!!
    One Monk To Gimp Them All
    Europe Devourer Beta Player
    Arise Founder
    Daemus, Daemons, Daemonicus Thelanis Server

  5. #5

    Default

    very nice

    http://www.wowinterface.com/download...atencyFix.html

    this is a latency fix works well, how much do you think it would help with this issue?

  6. #6
    Community Member Harncw's Avatar
    Join Date
    Jun 2006
    Location
    Lexington KY
    Posts
    2,488

    Default

    I'm not a game designer, but I recall this rule from long ago...

    Never trust the client.
    Never put anything on the client. The client is in the hands of the enemy. Never ever ever forget this.
    http://www.raphkoster.com/gaming/laws.shtml
    Rhetorical questions follow...
    Why is the client telling the server, what weapon effects to apply?
    Shouldn't the server already know what weapon is equipped?
    Does having a better connection mean you can do more DPS?
    /TELL Tackilack ~ Tackalack ~ Taq ~ Heartattack ~ Scrooge

  7. #7
    Community Member
    Join Date
    Sep 2009
    Posts
    2,670

    Default

    Quote Originally Posted by Harncw View Post
    Rhetorical questions follow...
    Rhetorical answers follow...

    Quote Originally Posted by Harncw View Post
    Why is the client telling the server, what weapon effects to apply?
    Doubt it is, but I wouldn't be surprised if the server was brain damaged enough to be sending each additional damage type back as a separate message.

    Quote Originally Posted by Harncw View Post
    Shouldn't the server already know what weapon is equipped?
    The server (should) always know what weapon is equipped because the server is the ultimate authority. The client doesn't always know however.

    Quote Originally Posted by Harncw View Post
    Does having a better connection mean you can do more DPS?
    If you can't connect to the server your DPS is 0.

    BTW, here is what a monk's strike looks like for additional effects: http://forums.ddo.com/showthread.php?t=241491 thats 14 numbers on a strike and it can go higher.
    Last edited by oweieie; 06-09-2010 at 01:58 PM.

  8. #8
    Time Bandit
    Join Date
    Oct 2009
    Posts
    1,028

    Default

    Quote Originally Posted by Harncw View Post
    Rhetorical questions follow...
    Why is the client telling the server, what weapon effects to apply?
    Shouldn't the server already know what weapon is equipped?
    Does having a better connection mean you can do more DPS?
    Oh the receive rate is the server to client transmission rate (so how much data is being received by the client). So it's the data that the server is sending to the client, not the other way around.

    The problem is that, if this transmission rate is capped, then the client doesn't get the most up-to-date information as to the current state of the quest. Hence you get some of the hallmarks of DPS lag such as everyone else standing still (because the server is cutting back on how much it's telling your client about what other characters are doing in order to stay under the cap), seeing the "objective completed" before seeing the monster's HP bar go down to 0 (because the quest is already done so the server sends the "completed" message, but the server is still sending damage dealt data to the client) and so forth.

  9. #9
    Community Member Harncw's Avatar
    Join Date
    Jun 2006
    Location
    Lexington KY
    Posts
    2,488

    Default

    Quote Originally Posted by oweieie View Post
    Rhetorical answers follow...

    If you can't connect to the server your DPS is 0.
    Thanks I learned something new today!
    /TELL Tackilack ~ Tackalack ~ Taq ~ Heartattack ~ Scrooge

  10. #10
    Community Member Harncw's Avatar
    Join Date
    Jun 2006
    Location
    Lexington KY
    Posts
    2,488

    Default

    Quote Originally Posted by Vanshilar View Post
    Oh the receive rate is the server to client transmission rate (so how much data is being received by the client). So it's the data that the server is sending to the client, not the other way around.
    Yeah my bad I should have read it twice.
    /TELL Tackilack ~ Tackalack ~ Taq ~ Heartattack ~ Scrooge

  11. #11
    Community Member ckorik's Avatar
    Join Date
    Jun 2009
    Posts
    339

    Default

    Quote Originally Posted by Vanshilar View Post
    Oh the receive rate is the server to client transmission rate (so how much data is being received by the client). So it's the data that the server is sending to the client, not the other way around.

    The problem is that, if this transmission rate is capped, then the client doesn't get the most up-to-date information as to the current state of the quest. Hence you get some of the hallmarks of DPS lag such as everyone else standing still (because the server is cutting back on how much it's telling your client about what other characters are doing in order to stay under the cap), seeing the "objective completed" before seeing the monster's HP bar go down to 0 (because the quest is already done so the server sends the "completed" message, but the server is still sending damage dealt data to the client) and so forth.
    This seems to be exactly what is going on - and if it is - I guess the question becomes what kind of compression is the data stream getting put through when it is sent from the server?

  12. #12
    Community Member
    Join Date
    Mar 2010
    Posts
    481

    Default

    +1 rep

    nice job putting this together

  13. #13
    Community Member ckorik's Avatar
    Join Date
    Jun 2009
    Posts
    339

    Default

    Well... another thought - if we can get quest completed messages - it indicates there is *some* priority in client updates sent - I wonder if we could 'de-couple' the combat stream from state and 'reactive' type updates ... things like:

    monster position
    spells going off
    health of players and monsters

    etc..

    That way we could clip the combat stream and still 'play' - it would be a huge improvement from what happens now.

  14. #14
    Community Member ArichValtrahn's Avatar
    Join Date
    Nov 2009
    Posts
    708

    Default

    Nice write up. The whole issue just wreaks of poor planning from the dev side.

  15. #15
    Community Member Cedrica-the-Bard's Avatar
    Join Date
    Mar 2006
    Location
    Canada
    Posts
    1,189

    Default

    And there we have it. Thank you for the great post.

  16. #16
    Community Member Stamp3de's Avatar
    Join Date
    Aug 2007
    Posts
    809

    Default

    I always assumed similar.

    A bunch of people using a theoretical wep that does 1+1+1+1+1+1+1+1+1+1+1+1 would cause "dps" lag more so over a wep that does 1000 in one shot.
    Ultimega - Ultimegus - Uggolla - Intell

  17. #17
    Community Member gott_ist_tot's Avatar
    Join Date
    Sep 2009
    Posts
    614

    Default

    Quote Originally Posted by ckorik View Post
    Well... another thought - if we can get quest completed messages - it indicates there is *some* priority in client updates sent - I wonder if we could 'de-couple' the combat stream from state and 'reactive' type updates ... things like:

    monster position
    spells going off
    health of players and monsters

    etc..

    That way we could clip the combat stream and still 'play' - it would be a huge improvement from what happens now.
    Or better yet, give the codebase to players to tamper with
    Why do I feel this kind of testing should be done and reacted upon by the devs, not the players?

    P.S. It just so happens that DDO players aren't dumb. We called the bluff on DPS nerf as a way to reduce the lag and did the testing to prove it. We haven't been told the truth... and that's what I find most vexing, not the nerf itself.

  18. #18
    Community Member Eladiun's Avatar
    Join Date
    Nov 2006
    Location
    Rhode Island
    Posts
    5,298

    Default

    Interesting but as a programmer it seems too simple and obvious. It would have been one of the first places I would have looked and I know Turbine has better programmers than me.
    “If at first you don't succeed, keep on sucking till you do succeed.”

  19. #19
    Community Member cdemeritt's Avatar
    Join Date
    Nov 2007
    Posts
    2,428

    Default

    I, by no means am an expert coder.... The last thing I coded was almost 10 years ago. But I still have enough experience with coding to get a gut feeling that This is the source of far more of our woes than anything else.

    Back when I was learning to code, I learned that just because a line of code does what you want, doesn't mean you should do it that way... (for reasons of Stability, or future growth, etc). It seems that when the game was first coded, the development team (who typically don't stick around once the game goes live, they move onto their next project, and a new set of people take over) either didn't expect the game to last as long as it did, or thought It won't be my problem, chose a architecture for the coding that was easy for them, but didn't plan on future growth.

    Sloppy code can work in the short term, but can be a real pain to add to/fix later. The packet handling seems to be a visual clue to said code issues. The problem is, if it goes back to the core architecture of the code, it might take a total re-write to fix it, and I don't see that happening....
    (Say): Haywire says, '"Hey, I don't come into yer home and play with things."'

  20. #20
    Community Member
    Join Date
    Sep 2009
    Posts
    2,670

    Default



    Uploaded with ImageShack.us

    Shadow Master, ToD part 2. 1st kiter said he was down over voice chat, his HP bar was full. 2nd kiter was running around, but I think a shadow was on the dais. Couldn't actually SEE it or anything of course. As you can see in the picture, I'm dead with full HP. Huzzah. Looks like my ki knows whats up as the colour isn't yellow, but my HP sat at full for a good long while.

Page 1 of 16 1234511 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

This form's session has expired. You need to reload the page.

Reload