Communications Reduction

I never anticipated the addon would be as popular as it is now. And under the previous settings GearScore communications would actually scale with the number of people who use the addon on a single realm. As the addon became more popular the communications began to get out of control. The 3.0.12 version addresses this issue in these ways:

Change #1: Because of the popularity communications will no longer be linked between guilds and parties and will limit the communications method to guild only. (The only time it will communicate with your raid is when requesting GearScore record of a player not in your database. And if this is still High then I will nix it in the butt too.) This change will drastically reduce the amount of communication in the addon.

Example:
  • 3.0.10 Method: Bob is in a guild where nobody uses GearScore, Bob joins a party with Kathy who is in a guild "Tomorrow". "Tomorrow" has 20 people who have GearScore sitting in Dalaran mousing over people 1 person per second each. Bob all of a sudden is being hit with 20 AddonMessages / second now. (Because Kathy receives the records and re-transmits then to her party. If BoB also had GearScore he would then re-transmit them to his guild as well, allowing communications to bounce between guilds with linked parties.)
  • 3.0.12 Method: Bob is in a guild where nobody uses GearScore, Bob joins a party with Kathy who is in a guild "Tomorrow". "Tomorrow" has 20 people who have GearScore sitting in Dalaran mousing over people 1 person per second each. Bob recieves 0 (Zero) AddonMessages / second. (Messages are no longer linked between guilds / parties )
Change #2: Previously whenever you moused over a player it would take a snap-shot and compare it to information you previously had on that player. If the information was the same it would not re-transmit it. However, the information would change every 1min when the timestamp was updated. (Timestamps look like: YYYYMMDDHHMM or 200910081128, so that the newest time is always a larger number). This means you can only spam a single player once every 1 min. I've now changed this to limit updating to only once per day. (Unless that payer changes their gear.)

Example:
  • 3.0.10 Method: Kathy now joins a guild, with 500 people who all have GearScore. Jack who is also in the guild is in Dalaran and runs through mousing over everyone. Everyone in receives the updated scores. 1min later Jane in goes to Dalaran and re-spams everyone with the same scores again, and so it goes on all day long.
  • 3.0.12 Method: Kathy now joins a guild, with 500 people who all have GearScore. Jack who is also in the guild is in Dalaran and runs through mousing over everyone. Everyone in receives the updated scores. For the rest of the day nobody else in will resend the scores of the player's Kathy captured unless those players change their gear items. The exception to this is if a player logs into the game who wasn't online to receive Kathy's captures.
Change #3: Previously when you requested an update about a player everyone who knew anything about that player would dump the info into guild chat, causing a spike in GuildAddonChannel messages. This probably caused a bit of lag to anyone who had GearScore and had to process 20 messages at once all of a sudden. Now however I have changed it so that when a player manually requests an update on another player all those messages are sent to the requesting player via "WHISPER", this means only the requesting player would receive a small lag bump while proccessing the messages. (In addition the messages recieved will be about 1/2)

Example:
  • 3.0.10 Method: Crystal manually requests an update on player Chris. She sends 1 request message to guild and 1 to party asking for this players information. Everyone in her party and everyone in her guild with information about Chris (As long as they aren't in combat) will then drop that information both into guild and party chats. From there the information would be repeated by other users of the addon across the server.
  • 3.0.12 Method: Crystal manually requests an update on player Chirs. She sends 1 request message to guild and 1 to party asking for this players information. Everyone in her party and everyone in her guild with information about Chris (As long as they aren't in combat) will whisper Crystal their information. Affecting only Crystal with the spike in lag from requesting a player's information.

Change #4: Throttling the GuildAddonChannel entirely. Because anyone with GearScore already knows when a message is put into the GuildAddonChannel from GearScore already, I now run a counter that I just +1 to every time a player recieves a new GearScore message. ANd I reset the counter every 1 second. And basically if the number of messages recieved in the GuildAddonChannel exceeds a rate of 1 / second (60 / min) no other clients will introduce additional information into the GuildAddonChannel. This basically limits the maximum communication rate of the addon entirely and the communications will no longer scale with the number of users who use the addon.

Example:
  • 3.0.10 Method: Billyjoe and Bobbysue are both in "Take The Money" and are in Dalaran mousing over everyone as fast as they can. Billyjoe and Bobbysue both drop information into the guild channel at a maximum rate of 5 messages / second. Between them the maximum message rate is 10 messages every 1 second. If BillyMack were to join them in Dalaran the maximum messages would be 15 messages every 1 second.
  • 3.0.12 Method: Billyjoe and Bobbysue are both in "Take The Money" and are in Dalaran mousing over everyone as fast as they can. Billyjoe and Bobbysue combined can only drop information into the guild channel at a maximum rate of 1 message / second. Between them the maximum message rate is 1 message every 1 second. If BillyMack were to join them in Dalaran the maximum messages would still be 1 message every 1 second

 

World of Warcraft® and Blizzard Entertainment® are all trademarks or registered trademarks of Blizzard Entertainment in the United States and/or other countries. These terms and all related materials, logos, and images are copyright © Blizzard Entertainment. This site is in no way associated with or endorsed by Blizzard Entertainment®.