07-26-2007, 03:33 PM
I'll throw in a little more detail. As TD said, Quartz is one of the key addons for this, since it shows you plainly, on your castbar, how much time you lose while casting due to lag.
How lagged are you, in general? Let's say you're a frost Mage and your average latency to your WoW server is 250 ms. You go to cast a 2.5-second spell (Frostbolt).
Your client tells the server "hey man, I'm casting!" The server, 250 ms later, says "duh, okay." Now, keep in mind that on your screen, you started casting, but on the server, you didn't actually start until 250 ms later.
Fast forward a bit. You're reaching the end of your cast. It finishes, and you fling out your next frostbolt when the server lets you. The problem is, the frostbolt got flung 2.5 seconds + 250 ms = 2.750 seconds after you first hit your cast key/button. You lost 250 ms, or 10% of your potential true casting time, to lag. The game engine doesn't let you start up another cast of Frostbolt until it registers that you sent one off.
Guess what? Since you're lagged, you lost 10% of your raid DPS assuming you're just standing there flinging Frostbolts continuously. The more latency you have on average, the more DPS you lose to this. 250 ms is a very average latency level, and when you think about how much DPS you lose without having /stopcasting macros, it really adds up.
Ever notice how when you're mounting up, you can start moving before the mount actually appears to you - and it doesn't cancel the mount action? That's latency right there. You moved before you saw the mount, so you should have wound up cancelling the mount...but you didn't. This is the same effect. You told your client "I'm done casting. I don't need to wait for the server to tell me I'm done," started moving, and sure enough you were off and running with your mount.
So, what's with /stopcasting? Well, it allows you to tell your own client to ignore what the server is telling you. The server says "hey, you're not done casting Frostbolt yet, please wait." You're telling your client "go ahead and stop casting my current Frostbolt and cast a new one, because 2.5 seconds have gone by, the first one's actually done already, and I don't need to wait for the server to tell me it's done."
It works. It'll look like you cancelled your Frostbolt. You'll start casting a new Frostbolt, and (x amount of latency time later) see your first Frostbolt fire out of your body. This isn't an exploit; it's the standard way all high-end guilds have been pushing their DPS higher, and it's a fundamental problem with Blizzard's game engine. If you use Quartz as your casting bar, you can tack /stopcasting to the top of all your major long-casting spell macros and then use them once you're inside the "lag" portion of the casting bar.
So instead of having a button to cast Frostbolt, you'll now have a macro that goes like:
/stopcasting
/cast FrostBolt
etc.
What's the catch? Obviously, if you hit your Frostbolt macro too early, you cancel out the cast before you hit the "lag" portion and wind up actually cancelling the cast on both your client and the server. Doh. You also can't spam-pound the casting button anymore and have to use skill and attention on your cast cycles, much like Hunters do consistently.
This doesn't help for instant-cast spells; just spells with cast times.
As TD said, Blizzard has hinted that they have some kind of system to fix this soon and it won't involve "spell queues," that is, hitting a button and saying "keep casting this until I say stop." Your guess is as good as mine as to what they'll do, unless it's simply adjusting client-side cast bars to take latency into account and let your client cast another spell when it's inside the latency level.
If you're ever wondering how Caster X seems to do so much more damage than you, it could be because he's using /stopcasting to eke out that extra 10-15% damage over you. People don't tend to believe how big a difference it makes until they try it themselves. It also forces casters to pay even more attention to their activities instead of just kicking back and hitting the 2 key over and over and over. :) You want more DPS? You gotta work for it.
Note: as a healer, I don't use /stopcasting myself. The ramifications of accidentally cancelling a heal because I was trying to get that extra .1 seconds of casting time back is a player death. Also, sub-100ms latency is somewhat common for me. /stopcasting is mostly used by DPS'ers. From what I've read of people who switched, they say it takes anywhere between an hour to a night to get used to it (especially those used to spamming a key over and over), but once they get used to it, they're addicted to the increased DPS they can dish out with it. YMMV.
-Bolty
How lagged are you, in general? Let's say you're a frost Mage and your average latency to your WoW server is 250 ms. You go to cast a 2.5-second spell (Frostbolt).
Your client tells the server "hey man, I'm casting!" The server, 250 ms later, says "duh, okay." Now, keep in mind that on your screen, you started casting, but on the server, you didn't actually start until 250 ms later.
Fast forward a bit. You're reaching the end of your cast. It finishes, and you fling out your next frostbolt when the server lets you. The problem is, the frostbolt got flung 2.5 seconds + 250 ms = 2.750 seconds after you first hit your cast key/button. You lost 250 ms, or 10% of your potential true casting time, to lag. The game engine doesn't let you start up another cast of Frostbolt until it registers that you sent one off.
Guess what? Since you're lagged, you lost 10% of your raid DPS assuming you're just standing there flinging Frostbolts continuously. The more latency you have on average, the more DPS you lose to this. 250 ms is a very average latency level, and when you think about how much DPS you lose without having /stopcasting macros, it really adds up.
Ever notice how when you're mounting up, you can start moving before the mount actually appears to you - and it doesn't cancel the mount action? That's latency right there. You moved before you saw the mount, so you should have wound up cancelling the mount...but you didn't. This is the same effect. You told your client "I'm done casting. I don't need to wait for the server to tell me I'm done," started moving, and sure enough you were off and running with your mount.
So, what's with /stopcasting? Well, it allows you to tell your own client to ignore what the server is telling you. The server says "hey, you're not done casting Frostbolt yet, please wait." You're telling your client "go ahead and stop casting my current Frostbolt and cast a new one, because 2.5 seconds have gone by, the first one's actually done already, and I don't need to wait for the server to tell me it's done."
It works. It'll look like you cancelled your Frostbolt. You'll start casting a new Frostbolt, and (x amount of latency time later) see your first Frostbolt fire out of your body. This isn't an exploit; it's the standard way all high-end guilds have been pushing their DPS higher, and it's a fundamental problem with Blizzard's game engine. If you use Quartz as your casting bar, you can tack /stopcasting to the top of all your major long-casting spell macros and then use them once you're inside the "lag" portion of the casting bar.
So instead of having a button to cast Frostbolt, you'll now have a macro that goes like:
/stopcasting
/cast FrostBolt
etc.
What's the catch? Obviously, if you hit your Frostbolt macro too early, you cancel out the cast before you hit the "lag" portion and wind up actually cancelling the cast on both your client and the server. Doh. You also can't spam-pound the casting button anymore and have to use skill and attention on your cast cycles, much like Hunters do consistently.
This doesn't help for instant-cast spells; just spells with cast times.
As TD said, Blizzard has hinted that they have some kind of system to fix this soon and it won't involve "spell queues," that is, hitting a button and saying "keep casting this until I say stop." Your guess is as good as mine as to what they'll do, unless it's simply adjusting client-side cast bars to take latency into account and let your client cast another spell when it's inside the latency level.
If you're ever wondering how Caster X seems to do so much more damage than you, it could be because he's using /stopcasting to eke out that extra 10-15% damage over you. People don't tend to believe how big a difference it makes until they try it themselves. It also forces casters to pay even more attention to their activities instead of just kicking back and hitting the 2 key over and over and over. :) You want more DPS? You gotta work for it.
Note: as a healer, I don't use /stopcasting myself. The ramifications of accidentally cancelling a heal because I was trying to get that extra .1 seconds of casting time back is a player death. Also, sub-100ms latency is somewhat common for me. /stopcasting is mostly used by DPS'ers. From what I've read of people who switched, they say it takes anywhere between an hour to a night to get used to it (especially those used to spamming a key over and over), but once they get used to it, they're addicted to the increased DPS they can dish out with it. YMMV.
-Bolty
Quote:Considering the mods here are generally liberals who seem to have a soft spot for fascism and white supremacy (despite them saying otherwise), me being perma-banned at some point is probably not out of the question.