Hunters have a priority list of shots. Whenever our global cooldown finishes, we choose the best available shot, and fire it. Here’s the question: what’s the best way to fire your next ability as soon as the cooldown is available? Wait and press the key, or spam the key as fast as you can?
My completely unscientific study of this question has led me to believe that riding the key for your next shot results in more shots fired per minute. It’s not really easy to see this on a boss dummy, but in a 25 man with all the information being sent and received by 25 people simultaneously, it seems to perform better. Here’s the way I understand it:
- When you fire a shot, the command is sent to the server and the local GCD starts immediately.
- The server acknowledges the command about a tenth of a second (assuming 100ms latency) later and actually performs the shot.
- If you attempt to fire a shot while your machine’s cooldown is going, it sends another command to the server anyways.
- If the new command arrives at the server 1.5 seconds after you pressed the first key on your machine, the server will fire the new shot.
- If the new command arrives before the cooldown is finished, the server will reply “not ready”, and your cooldown keeps going. You can send more than one of these at a time.
Basically, the goal is to send your shot so that it arrives at the server exactly when the cooldown is finished. Assuming a 100 ms latency again, that means hitting the command a tenth of a second before the cooldown finishes. If you have consistent latency, that will work perfectly. Mine, however, varies quite a bit in combat. What I try to do is start spamming my key half a second or so before the cooldown is done, and keep mashing it until I see the ability being used.
Before patch 2.3, everything worked a little differently. For a brief period in 2.3, the rules were again different than they are now. Specifically, if you sent a command and it was rejected, you weren’t able to send a new one until the rejection message came through. This meant that mashing a key would actually often cost you a sizable fraction of your cooldowns per minute. Now, however, it appears that hitting a key several times and having it rejected doesn’t prevent the one that is timed properly from being accepted.
The long and short of it is that yes, button mashing can increase your throughput a little if you have high and/or variable latency in combat.
I discovered this when I was using Zeherah’s expression editor-fu to compare the “tightness” of my rotation to a friend of mine. Here’s his from an old festergut log:
Here’s mine from a recent Saurfang 10 HM:
If you want to see your own, go to a recent WoL report, narrow down to the fight in question, and then enter the expression editor. From there, use the following query, substituting your name for mine:
sourcename="Euripides" and type=TYPE_CAST