World of Warcraft

1 . 2 . 3
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 0. Haste, Heroism, the GCD, and you   08/13/2007 12:54:36 AM PDT
quote reply
******************************************************************************************************************************************
Edit: Previews of 2.4 patch notes (http://www.mmo-champion.com/index.php?topic=4018.0) indicate that haste will START influencing the GCD for spells down to a 1 second GCD. Until 2.4 hits this research stands as the behavior of the GCD in relation to haste effects.

Edit 2: 2.4 PTR testing confirms that the GCD is now able to be lowered to a minimum cap of 1.0 seconds. Research can be found here: http://forums.worldofwarcraft.com/thread.html?topicId=4665457295
******************************************************************************************************************************************


More testing on this PTR, premades make Zaldinar very happy, he has all kinds of toys to play with. There was a bit of a debate in this thread (http://forums.worldofwarcraft.com/thread.html?topicId=712450967) where I realized I was unable to back up my claim with research, so naturally, I figured it was time to do the research.

Enter the problem, how does one measure the GCD? I tried doing long series of casts with and without heroism, but was unable to get any stable numbers out of them (since lag is crazy on the PTR) And the results I was getting didn't convincingly say whether or not the GCD was being violated. So then I turned to the easiest way to measure the GCD I can think of, to measure the cooldown on your spell buttons.

Using my data gathering addon and the function GetSpellCooldown I was able to measure the cooldown active on a given spell. The way the function works is you feed it information identifying the spell, and it returns three values, a timestamp (using the GetTime() format, which is a measurements of seconds) representing the start of the cooldown, a float representing the duration of the cooldown, and a flag for whether or not the cooldown matters (or something like that). Information about the function can be found on WoWWiki (http://www.wowwiki.com/API_GetSpellCooldown).

What I then did, was chose a spell that had a cooldown that followed it, Fireblast was a good example, so you could be sure that the cooldown presented was either the GCD or the cooldown of the spell itself. Here are three casts of fireblast and the timestamps that came with them:


2967011.233 - Fireblast started
2967012.378 - Spell success registered
2967012.379 - GetSpellCooldown returns a timestamp of 2967011.235 for start of cooldown, vs our time now of 2967012.379 making a delta of approximately 1.144 seconds, duration of cooldown 1.5 seconds, after success the Fireblast 8 second cooldown begins.

2967153.687 - Fireblast started
2967154.533 - Spell success registered
2967154.534 - GetSpellCooldown returns a timestamp of 2967153.689 for start of cooldown, vs our time now of 2967154.534 making a delta of approximately 0.845 seconds, duration of cooldown is again 1.5 seconds, after success of the Fireblast the 8 second cooldown begins.

2967248.307 - Fireblast started
2967249.248 - Spell success registered
2967249.249 - GetSpellCooldown returns a timestamp of 2967248.309 for start of cooldown, vs our time now of 2967249.249 making a delta of approximately 0.939 seconds, duration of cooldown is again 1.5 seconds, after success of the Fireblast the 8 second cooldown begins.


This establishes the ability to observe exactly how much time is going into the GCD, the 1.5 second cooldown can only be the GCD. When lag forced the success event to be registered more than 1.5 seconds after the cast event, the cooldown registered as having an 8 second duration and starting at approximately the time of spell success.

The question at hand is if Heroism reduces the GCD to account for its 30% spellcasting increase. If it does we should observe the cooldown being a 1.5 * .7 = 1.05 second cooldown. Here comes my PTR Shammy, and some heroism action.

2967773.129 - Fireblast started
2967773.818 - Spell success registered
2967773.819 - GetSpellCooldown returns a timestamp of 296773.131 for start of cooldown, vs our time now of 2967773.819 making a delta of approximately 0.688 seconds, duration of cooldown is 1.5 seconds, after success of the fireblast the normal 8 second cooldown begins.

Three other datapoints of exactly the same results followed (for the cooldown duration that is).

What this means: Heroism does *NOT* reduce the GCD (For the folks that want to argue that it does, wait until the conclusion at the end once I cover haste, because there is something waiting for you there).




The next question, does Haste reduce it?

Using the same basic tactic as before to measure the GCD, this time scorching for a Quags Eye proc, and then firing off a Fireblast.

2968631.353 - Fireblast started
2968632.227 - Spell success registered
2969632.227 - GetSpellCooldown returns a timestamp of 2968631.355 for start of cooldown, vs our time now of 2969632.227 making a delta of approximately 0.872 seconds, duration of cooldown is 1.5 seconds, after success of the fireblast the normal 8 second cooldown begins.

Five other datapoints of exactly the same results.

What this means: Haste does *NOT* reduce the GCD.





Now, the general population thinks that Haste/Heroism/Bloodlust effect the GCD, and have endless amounts of anecdotal evidence to support this. I am about to justify all of that evidence, and say that they are still wrong, the GCD is not effected, just the way that you cast and interact with it is.


The way it would seem to work from my observation is as follows:

Step 1: Start casting a spell at T + 0.0
Step 2: At T + 1.5 the GCD clears
Step 3: At T + Cast Time + Lag/Processing time the spell succeeds and your client is free to cast another spell.

We are all familiar with the way that Quartz and /stopcasting macros work, where you have that buffer on the end of your spell where you have actually finished casting it and can start casting another, but the client hasn't been told the last spell succeeded yet. That buffer at the end of the spell is the key to effects such as Heroism, Haste, or talents that reduce the cast time of a spell below 1.5 seconds (Improved Corruption, Fireball, Frostbolt, etc).


Imagine you're casting scorch under Heroism, you have a 1.05 second cast time. During my observations attempting to measure the GCD over casts I noticed that a normal scorch took an average of 1.9 seconds to cast during the time I was casting it. While when I cast under the effects of Heroism it was approximately 1.55 seconds. I wasn't able to show that Heroism was violating the GCD, because it wasnt. The Scorch was finishing .45 seconds before it normally did, so instead of that buffer for lag and process time starting at T + 1.5, it was starting at T + 1.05. The client still wont let you shoot another spell off before that GCD has cleared, but you are effectively mitigating lag through heroism by starting that buffer time earlier.

What this means: While Heroism and Haste do not reduce the GCD, in situations where latency is adversely effecting your cast time they well mitigate that effect, resulting in an increase in DPS even for spells that are already at the GCD or within reason below.



Big crayon explanation and for the TLDR Crowd:

Haste and Heroism do not reduce the GCD, but still will give you a DPS gain on 1.5 second cast spells because of the way it interacts with lag.


Peanut gallery, lets see what you've got.

[ Post edited by Zaldinar ]


To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
72
View All Posts by This User Toggle Ignore / Unignore This User
  • Bronzebeard
  • 2. Re: Haste, Heroism, the GCD, and you   08/13/2007 01:15:25 AM PDT
quote reply
good to know?
10
View All Posts by This User Toggle Ignore / Unignore This User
  • Lightning's Blade
  • 3. Re: Haste, Heroism, the GCD, and you   08/13/2007 01:17:28 AM PDT
quote reply
It is good info, thank you for your research.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Shadow Council
  • 4. Re: Haste, Heroism, the GCD, and you   08/13/2007 02:07:19 AM PDT
quote reply
And what about people who run /stopcasting macros and use a casting bar like Quartz to show you when its safe to cancel a spell and have it still fire?

Heroism/Haste not reducing the GCD for 1.5 second spells is really no true DPS gain. You can already mitigate lag if you knew how to do it, the haste effects are unneeded for that.

Still, you did do some nice digging, and it can be useful for people who don't want to pick up a mod.

Lambert/Eranna
Don't hug me--I'm spiky. And bitter. Unless you want to hug bitter spikes.
Then go right on ahead.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 6. Re: Haste, Heroism, the GCD, and you   08/13/2007 02:13:19 AM PDT
quote reply

Q u o t e:
And what about people who run /stopcasting macros and use a casting bar like Quartz to show you when its safe to cancel a spell and have it still fire?

Heroism/Haste not reducing the GCD for 1.5 second spells is really no true DPS gain. You can already mitigate lag if you knew how to do it, the haste effects are unneeded for that.

Still, you did do some nice digging, and it can be useful for people who don't want to pick up a mod.


True. Quartz and /stopcasting macros will reduce the effect, but I observed with a 120 ping I was able to get 1.55 second scorches, if you can time your stopcasting to a flat 1.5 you'd still net a .05 second gain. I'd say its effects would be less noticable than without, but still present.

To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 7. Re: Haste, Heroism, the GCD, and you   08/13/2007 02:16:07 AM PDT
quote reply

Q u o t e:
The world isn't just PvE, I believe.


The PvP application of this is reasonably limited, since you aren't often chaincasting under such restrictions. But regardless, the mechanic relates to both PvP and PvE, but is more centered on PvE, since thats where you're more likely to encounter a chaincasting scenario with heroism in a situation where raw DPS in relation to the GCD matters.


Edit: Upon further reflection, I guess Arena makes for a PvP application of Heroism that matters, and this does show that instacasts arent made spammable at 1.05 seconds per cast. So I guess it is PvP applicable, but the point of your statement still evades me.

[ Post edited by Zaldinar ]


To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 9. Re: Haste, Heroism, the GCD, and you   08/13/2007 02:29:10 AM PDT
quote reply

Q u o t e:


I was referring to 5v5 teams that have shamans in them. If heroism doesn't matter quite so much while chaincasting, the supposed "GCD reduction" which is now proven false may have been helpful in an arena environment where you're spamming ice lances, fire blasts, and frost novas while tossing in the occasional frostbolt.


Yeah, I got around to that about a minute after being confused by it. You're best suited using the heroism to get off cast time spells faster, 2.5 * .7 = 1.75 second frostbolts sound wicked. Or alternatively, just going along as normal, since favoring frostbolt / fireball to take advantage of the Heroism might foul your general PvP strategy. It really all boils down to playstyle at that point really, and is beyond the realm of Theorycrafting, PvP introduces too many variables that cant be accounted for in math models.

To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • 10. Re: Haste, Heroism, the GCD, and you   08/13/2007 03:18:44 AM PDT
quote reply

Q u o t e:
More testing on this PTR, premades make Zaldinar very happy, he has all kinds of toys to play with. There was a bit of a debate in this thread (http://forums.worldofwarcraft.com/thread.html?topicId=712450967) where I realized I was unable to back up my claim with research, so naturally, I figured it was time to do the research.

Enter the problem, how does one measure the GCD? I tried doing long series of casts with and without heroism, but was unable to get any stable numbers out of them (since lag is crazy on the PTR) And the results I was getting didn't convincingly say whether or not the GCD was being violated. So then I turned to the easiest way to measure the GCD I can think of, to measure the cooldown on your spell buttons.

Using my data gathering addon and the function GetSpellCooldown I was able to measure the cooldown active on a given spell. The way the function works is you feed it information identifying the spell, and it returns three values, a timestamp (using the GetTime() format, which is a measurements of seconds) representing the start of the cooldown, a float representing the duration of the cooldown, and a flag for whether or not the cooldown matters (or something like that). Information about the function can be found on WoWWiki (http://www.wowwiki.com/API_GetSpellCooldown).

What I then did, was chose a spell that had a cooldown that followed it, Fireblast was a good example, so you could be sure that the cooldown presented was either the GCD or the cooldown of the spell itself. Here are three casts of fireblast and the timestamps that came with them:


2967011.233 - Fireblast started
2967012.378 - Spell success registered
2967012.379 - GetSpellCooldown returns a timestamp of 2967011.235 for start of cooldown, vs our time now of 2967012.379 making a delta of approximately 1.144 seconds, duration of cooldown 1.5 seconds, after success the Fireblast 8 second cooldown begins.

2967153.687 - Fireblast started
2967154.533 - Spell success registered
2967154.534 - GetSpellCooldown returns a timestamp of 2967153.689 for start of cooldown, vs our time now of 2967154.534 making a delta of approximately 0.845 seconds, duration of cooldown is again 1.5 seconds, after success of the Fireblast the 8 second cooldown begins.

2967248.307 - Fireblast started
2967249.248 - Spell success registered
2967249.249 - GetSpellCooldown returns a timestamp of 2967248.309 for start of cooldown, vs our time now of 2967249.249 making a delta of approximately 0.939 seconds, duration of cooldown is again 1.5 seconds, after success of the Fireblast the 8 second cooldown begins.


This establishes the ability to observe exactly how much time is going into the GCD, the 1.5 second cooldown can only be the GCD. When lag forced the success event to be registered more than 1.5 seconds after the cast event, the cooldown registered as having an 8 second duration and starting at approximately the time of spell success.

The question at hand is if Heroism reduces the GCD to account for its 30% spellcasting increase. If it does we should observe the cooldown being a 1.5 * .7 = 1.05 second cooldown. Here comes my PTR Shammy, and some heroism action.

2967773.129 - Fireblast started
2967773.818 - Spell success registered
2967773.819 - GetSpellCooldown returns a timestamp of 296773.131 for start of cooldown, vs our time now of 2967773.819 making a delta of approximately 0.688 seconds, duration of cooldown is 1.5 seconds, after success of the fireblast the normal 8 second cooldown begins.

Three other datapoints of exactly the same results followed (for the cooldown duration that is).

What this means: Heroism does *NOT* reduce the GCD (For the folks that want to argue that it does, wait until the conclusion at the end once I cover haste, because there is something waiting for you there).




The next question, does Haste reduce it?

Using the same basic tactic as before to measure the GCD, this time scorching for a Quags Eye proc, and then firing off a Fireblast.

2968631.353 - Fireblast started
2968632.227 - Spell success registered
2969632.227 - GetSpellCooldown returns a timestamp of 2968631.355 for start of cooldown, vs our time now of 2969632.227 making a delta of approximately 0.872 seconds, duration of cooldown is 1.5 seconds, after success of the fireblast the normal 8 second cooldown begins.

Five other datapoints of exactly the same results.

What this means: Haste does *NOT* reduce the GCD.





Now, the general population thinks that Haste/Heroism/Bloodlust effect the GCD, and have endless amounts of anecdotal evidence to support this. I am about to justify all of that evidence, and say that they are still wrong, the GCD is not effected, just the way that you cast and interact with it is.


The way it would seem to work from my observation is as follows:

Step 1: Start casting a spell at T + 0.0
Step 2: At T + 1.5 the GCD clears
Step 3: At T + Cast Time + Lag/Processing time the spell succeeds and your client is free to cast another spell.

We are all familiar with the way that Quartz and /stopcasting macros work, where you have that buffer on the end of your spell where you have actually finished casting it and can start casting another, but the client hasn't been told the last spell succeeded yet. That buffer at the end of the spell is the key to effects such as Heroism, Haste, or talents that reduce the cast time of a spell below 1.5 seconds (Improved Corruption, Fireball, Frostbolt, etc).


Imagine you're casting scorch under Heroism, you have a 1.05 second cast time. During my observations attempting to measure the GCD over casts I noticed that a normal scorch took an average of 1.9 seconds to cast during the time I was casting it. While when I cast under the effects of Heroism it was approximately 1.55 seconds. I wasn't able to show that Heroism was violating the GCD, because it wasnt. The Scorch was finishing .45 seconds before it normally did, so instead of that buffer for lag and process time starting at T + 1.5, it was starting at T + 1.05. The client still wont let you shoot another spell off before that GCD has cleared, but you are effectively mitigating lag through heroism by starting that buffer time earlier.

What this means: While Heroism and Haste do not reduce the GCD, in situations where latency is adversely effecting your cast time they well mitigate that effect, resulting in an increase in DPS even for spells that are already at the GCD or within reason below.



Big crayon explanation and for the TLDR Crowd:

Haste and Heroism do not reduce the GCD, but still will give you a DPS gain on 1.5 second cast spells because of the way it interacts with lag.


Peanut gallery, lets see what you've got.


Make a level 1 troll and test it with berserking too, for the sake of thoroughness.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • 12. Re: Haste, Heroism, the GCD, and you   08/13/2007 03:21:58 AM PDT
quote reply

Q u o t e:


Quotes ftw.


Yeah, quoting the whole thing was probably excessive. But screw it, I'm Faxmonkey! I'll quote whatever I want!
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 13. Re: Haste, Heroism, the GCD, and you   08/13/2007 03:24:42 AM PDT
quote reply

Q u o t e:
Yeah, quoting the whole thing was probably excessive. But screw it, I'm Faxmonkey! I'll quote whatever I want!


Who am I to argue with a primate with knowledge of communications equipment? You've got a point, it is worth checking against the troll racial as well.


Edit: I'd just like to add, I've never done troll starting quests, smacking peons is making this quite entertaining getting to level 6 to recreate the test environment.

Edit 2: I cant get enough delay between casting and the spell completing to observe the GCD being in effect, I'm going to need to migrate this toon somewhere with some lag. I'll get to this tonight after work, for now I need sleep. To be continued.

[ Post edited by Zaldinar ]


To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 14. Re: Haste, Heroism, the GCD, and you   08/13/2007 04:43:51 AM PDT
quote reply
Scratch that, dual-boxing made the difference.

Observation is the same with Berserking active on the troll alt. GCD still reads as a 1.5 second cooldown and times the same, just when the success event happens so quickly Im assuming also an update of cooldown event reaches it at the same time telling it to start the 8 second cooldown. Regardless, Berserking is added to the list, no GCD cheating.

To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
70
View All Posts by This User Toggle Ignore / Unignore This User
  • 15. Re: Haste, Heroism, the GCD, and you   08/13/2007 06:58:07 AM PDT
quote reply
... I may have completely missed the point here, popping heroism and using like AB spam produces 1.1 ( if i remember right) cast times on AB which is reflected in the tooltip and what im actually experiencing in game, there is a big difference in basically a 1sec cast time and using something like scorch with a 1.5 cast time.

This could be even faster human mechanics withstanding since its almost impossible to 100% reliably maximize stopcasting at these speeds for a even strong dps gain. But usually it visually and physically feels like during heroism im getting sub 1sec ab spam for the duration of it.

Are you fully taking into account the massive lag that most people experience on the PTR or that the mechanics of the actual mod you used was flawed in its formula?

Would a timestamped WWS showing heroism+ab spam with under 1.5 sec cast times show anything different ?I was always under the impression that only heroism could lower spells under the GCD while haste can come close to it, never beat the GCD of 1.5.

But ill take a look and see what i can dig up.

KISS UI @ Curse gaming = http://www.curse.com/downloads/details/8710/
80
View All Posts by This User Toggle Ignore / Unignore This User
  • Runetotem
  • 16. Re: Haste, Heroism, the GCD, and you   08/13/2007 11:59:38 AM PDT
quote reply
The addon was measuring the cooldown that the client was told to put on the spells themselves, IE when you push a button all the buttons do the little clock routine for the GCD, that clock is what it measured and it is always a 1.5 second cooldown.

Basically what you'd need to show to prove that the GCD was being violated is over X casts an average cast time that is less than 1.5 seconds. I was unable to produce this on the PTR in Netherstorm, I suppose I can grab my Shammy and mage and see if I can get it to happen somewhere obscure, but in all honesty I'm rather convinced based on the data collection of the cooldown.


What you're seeing in the game with the 1.05 second cast time for AB (rounded up to 1.1 on the tooltip probably since the game deals in 10ths of a second) is the same as what you see with the improved fireball/frostbolt talents, the spell happens sooner in the GCD window, but you can't start another spell until the GCD clears. And again, the benefit of this is that the buffer for lag and process time starts sooner, and is more likely to be finished or into the quartz-able range at 1.5 seconds when the GCD is finished.

To truly model the game, we first must research it.
http://forums.worldofwarcraft.com/thread.html?topicId=109841969
Proven TheoryCrafting Stuff, chain casting in a PTR near you soon.
70
View All Posts by This User Toggle Ignore / Unignore This User
  • Skullcrusher
  • 17. Re: Haste, Heroism, the GCD, and you   08/13/2007 01:04:48 PM PDT
quote reply
Not exactly news, but solid research is always a plus, thanks.

Mages are about numbers. BIG numbers. Sadly, most mages can't count.
80
View All Posts by This User Toggle Ignore / Unignore This User
  • 18. Re: Haste, Heroism, the GCD, and you   08/13/2007 01:45:03 PM PDT
quote reply

Q u o t e:
The addon was measuring the cooldown that the client was told to put on the spells themselves, IE when you push a button all the buttons do the little clock routine for the GCD, that clock is what it measured and it is always a 1.5 second cooldown.

Basically what you'd need to show to prove that the GCD was being violated is over X casts an average cast time that is less than 1.5 seconds. I was unable to produce this on the PTR in Netherstorm, I suppose I can grab my Shammy and mage and see if I can get it to happen somewhere obscure, but in all honesty I'm rather convinced based on the data collection of the cooldown.


What you're seeing in the game with the 1.05 second cast time for AB (rounded up to 1.1 on the tooltip probably since the game deals in 10ths of a second) is the same as what you see with the improved fireball/frostbolt talents, the spell happens sooner in the GCD window, but you can't start another spell until the GCD clears. And again, the benefit of this is that the buffer for lag and process time starts sooner, and is more likely to be finished or into the quartz-able range at 1.5 seconds when the GCD is finished.


Here's something to consider: The global cooldown is 1.5 seconds client-side, but 1 second server-side to deal with lag. If you're using a stop-casting macro, does that stop the global cooldown client-side since the client believe you cancelled your spell before it finished? I know this is the case with other spells, if you stop them before they complete the global cooldown goes away after a second (apparently there is some communication with the server there and thus the delay).
70
View All Posts by This User Toggle Ignore / Unignore This User
  • 19. Re: Haste, Heroism, the GCD, and you   08/13/2007 01:54:22 PM PDT
quote reply
That's some good info to have. Good job in the testing. I do have one problem though. Haste along with quartz and stopcasting macros is really hard to time without that damn "you can't use that spell yet" interuption when using scorch. Any other spell is fine, but chain casting scorch with haste is screwed up.
1 . 2 . 3
Forum Nav : Jump To This Forum
Blizzard Entertainment