1. #1
    Stood in the Fire Ispamx's Avatar
    10+ Year Old Account
    Join Date
    Dec 2010
    Location
    Australia
    Posts
    495

    Having trouble with spell queueing

    TLDR: I want a way to queue spell casts without using high Custom Lag Tolerance.

    I have been having issues with queuing up spells to be cast the moment the previous cast finishes. For example, if I am spamming Frostbolt I can't queue up the next Frostbolt cast until the previous one is finished, meaning there is continually ~0.1 second gaps where I do nothing, which obviously add up over the course of a fight. There seems to be a ~0.1 second window where I can queue a spell while still casting the previous spell, but I don't want to get an early onset of arthritis by trying to mash a key 10 times per second.

    I have tried using Custom Lag Tolerance, with an addon that adjusts the tolerance to my current ping, which is important because as an Oceanic player my ping regularly varies between 50-250 depending on whether I am on an Oceanic server or in a dungeon/pug on an American realm. If my Custom Lag Tolerance is set high, then the window in which I can queue up a new spell is considerably increased, however this isn't ideal since it seems to lock in the choice quite early. For example if I am casting Frostbolt then decide to queue an Ice Lance, only to change my mind and cast Frostfire Bolt due to a proc, it is too late and Ice Lance goes off anyway. I have also tried manually adjusting the lag tolerance, however I just run into the same problems. At low tolerance there is a gap between spells, and at high tolerance I can't back out of a cast if new information arises that would make me change my mind.

    I am looking for a way to be able to queue new spell casts within a reasonable timeframe of the current cast (0.2-0.4 seconds?) without having to rely on setting Custom Lag Tolerance high as that just raises new issues.

  2. #2
    Quote Originally Posted by Ispamx View Post
    I have been having issues with queuing up spells to be cast the moment the previous cast finishes. For example, if I am spamming Frostbolt I can't queue up the next Frostbolt cast until the previous one is finished, meaning there is continually ~0.1 second gaps where I do nothing, which obviously add up over the course of a fight. There seems to be a ~0.1 second window where I can queue a spell while still casting the previous spell, but I don't want to get an early onset of arthritis by trying to mash a key 10 times per second.

    I have tried using Custom Lag Tolerance, with an addon that adjusts the tolerance to my current ping, which is important because as an Oceanic player my ping regularly varies between 50-250 depending on whether I am on an Oceanic server or in a dungeon/pug on an American realm. If my Custom Lag Tolerance is set high, then the window in which I can queue up a new spell is considerably increased, however this isn't ideal since it seems to lock in the choice quite early. For example if I am casting Frostbolt then decide to queue an Ice Lance, only to change my mind and cast Frostfire Bolt due to a proc, it is too late and Ice Lance goes off anyway. I have also tried manually adjusting the lag tolerance, however I just run into the same problems. At low tolerance there is a gap between spells, and at high tolerance I can't back out of a cast if new information arises that would make me change my mind.

    I am looking for a way to be able to queue new spell casts within a reasonable timeframe of the current cast (0.2-0.4 seconds?) without having to rely on setting Custom Lag Tolerance high as that just raises new issues.
    Your description of the situation without a custom lag tolerance set is ... confused. You can queue before the end of cast safely, and most custom castbar addons will happily show you the safe zone based on your current latency, etc. So with *nothing* but the defaults spamming a spell like Frostbolt should result in "instant" casts back to back -- if by "spamming" you mean "hitting the button while on GCD" rather than "waiting to see the end of the timer, hitting it then".

    The way to get what you want in terms of "reasonable" timeframe is to set your custom lag tolerance to the time period you want. Conveniently the 0.2 to 0.4 seconds you name would be a custom lag tolerance of 200 to 400 (ms), which will exactly let you do what you just described yourself wanting.

    Try just setting that to a fixed value, not using the addon that "theoretically" improves things based on up to 30 second old information, and you should get exactly what you described. (...and if that doesn't "fix" your issue, try explaining how you are measuring that gap where you are doing nothing.)

  3. #3
    Stood in the Fire Ispamx's Avatar
    10+ Year Old Account
    Join Date
    Dec 2010
    Location
    Australia
    Posts
    495
    I believe I have found the issue, and it is somewhat significant.

    TLDR: Chain casting the same spell can not be queued. Ever. Definitely a bug. There is also an issue with queueing related to GCD's, unclear if intended or not. Wall of text explaining below.

    Method of testing if a spell is queued: Only hit the keybind when the cast is still happening and stop hitting the keybind before it completes. If the spell is cast after the previous one completes, then it must have been queued. If it doesn't, then it was waiting for the cast to end before queueing a new spell and therefore there is going to be a delay. My claims can be tested using this method. It is worth noting that I have been testing this on the Oceanic servers with ~50 ping, testing on North American servers is difficult for me since 200 ping makes it much harder to test this and I don't have high level characters there. I imagine it works the same way though.

    I found a bug that only happens when chain casting the same spell. When I go to a training dummy and alternate between cast two cast time spells (Wrath and Healing Touch in my testing, though I did try it with others) they queue as intended with a reasonable window for queueing the spell. However if I try to chain cast the same spell no matter how hard I try I cannot get them to queue, they can only be started once the previous cast is finished. The only way I was able to make them queue was using Custom Lag Tolerance at a high value (300+), which I was mistaking for regular queueing due to being unable to queue any other way when casting the same spell.

    There was also another issue I found when testing, although whether this is intended or not is unclear. When you are trying to queue a spell while the GCD is still active (mainly occurs when spamming instant casts or cast time spells while under the effects of a large haste increase) a new cast CANNOT be queued until the GCD ends.

    So queueing spells seems to have three conditions, first that it is in the acceptable queue range (seems to be up to 0.75 seconds, so quite generous), second is that the GCD is not currently active, and third that it is not the same spell that is already being casted, which is almost certainly a bug.

    This is the conclusion I have come to, in list form:
    1. Chain casting the same cast time spell does NOT work ever. Almost certainly a bug.
    2. Casting two different spells with cast times in succession works fine.*
    3. Chain casting instant cast spells does NOT work, whether they are the same spell or not, due to being unable to queue a spell until the GCD is over.
    4. Swapping from cast time to instant spells works.*
    5. Swapping from instant spells to cast time spells does NOT work, due to the "GCD issue". Same problem as #2.
    6. Chain casting challeneled spells (e.g. Mind Flay, Drain Soul) works fine, this is more due to how they work like dots and "carry over" a percent of their duration if used multiple tines.
    7. Interrupting channeled spells with either instants of cast times works fine, though this isn't really queueing.
    8. Going from a cast time to a channeled spell works fine.*
    9. Going from an instant cast to a channeled spell does NOT work, due to the "GCD issue". Same problem as #2.
    * However the window in which you can queue a spell is not reached until the GCD is over, meaning faster cast times are at an inherent disadvantage with queueing, and the queue range is nonexistent when Haste buffs are so large that the spell cast becomes quicker than the GCD.

    The chain casting bug can be felt on some classes more than others, a prime example being Clarity of Power Shadow Priest as you want to Mind Spike 3 times in a row regularly and cannot queue them. The GCD "feature" is extremely apparent on all melee and casters with a lot of instants, though since it has presumably been like this forever I am hesitant to call it a bug.

    This is going off on somewhat of a tangent, but I believe the GCD "feature" should be changed as who can mash a key faster or use a program to hit a key 100+ times per second should not determine who does more DPS when all other factors are equal. The Custom Lag Tolerance feature does allow you to queue up an ability before the GCD ends but the window is only as big as the Custom Lag Tolerance is set and turning it up too high severely hampers your ability to react to procs, which is no better.

    In conclusion, spell queueing is absolutely bugged when it comes to chain casting the same spell, however there is also an issue related to GCD's that I believe should be changed, but may be intended.
    Last edited by Ispamx; 2015-05-27 at 02:43 AM.

  4. #4
    I can't reproduce any of your claims, it sounds like you have your lag tolerance set to 0.


  5. #5
    Stood in the Fire Ispamx's Avatar
    10+ Year Old Account
    Join Date
    Dec 2010
    Location
    Australia
    Posts
    495
    Quote Originally Posted by semlar View Post
    I can't reproduce any of your claims, it sounds like you have your lag tolerance set to 0.
    First of all, thank you for taking the time to make a video demonstrating your spell queueing, I really appreciate it. It is clear from your video that your spell queueing is working as intended, with global cooldowns and casting the same spell. Unfortunately I am still having the issue though. I am certain Custom Lag Tolerance is not set to 0, I check if before and after each test. I was also able to find a post on the Blizzard forums describing the issue exactly the same as I have experienced, dating back to right after the WoD prepatch. I am going to attempt disabling addons, clearing my cache and WTF folder, etc and will report back in case anyone else having the same issue stumbles upon this thread.

    - - - Updated - - -

    After updating a few out of date addons and clearing the Cache and the custom Interface settings of my WoW folder, I have been able to fix the issue, but only partially. When Custom Lag Tolerance is disabled the spells queue up as intended. However as soon as I turn it on the issues I reported above return. Judging by my personal experiences and the forum post I found, it appears that the bugs I reported do exist, but only with Custom Lag Tolerance enabled, though it could just be a further issue with my WoW folder, an addon, or something else causing it to happen. Since I am ok with playing with Custom Lag Tolerance disabled I am going to stop pursuing a solution now. Huge thank you to selmar, your video was very helpful.
    Last edited by Ispamx; 2015-05-28 at 05:20 AM.

  6. #6
    I used this addon since it came out and it always feels responsive AutoLagTolerance. It's a different version than the one posted on Curse with the same name btw.

    Gershuun @ Borean Tundra US - Interface & Macros Moderator

  7. #7
    Stood in the Fire Ispamx's Avatar
    10+ Year Old Account
    Join Date
    Dec 2010
    Location
    Australia
    Posts
    495
    Quote Originally Posted by lawomous View Post
    I used this addon since it came out and it always feels responsive AutoLagTolerance. It's a different version than the one posted on Curse with the same name btw.
    Thanks for the suggestion, though after discovering some issues related to Custom Lag Tolerance that I explained above, I plan on not just Custom Lag Tolerance for the time being. Not sure if the issues I was having with Custom Lag Tolerance are a constant bug or just happen on some peoples clients for whatever reason.

  8. #8
    Quote Originally Posted by Ispamx View Post
    Thanks for the suggestion, though after discovering some issues related to Custom Lag Tolerance that I explained above, I plan on not just Custom Lag Tolerance for the time being. Not sure if the issues I was having with Custom Lag Tolerance are a constant bug or just happen on some peoples clients for whatever reason.
    I can't explain it, but my experience is exactly matched to semlar's -- it works as described on the box, even for the same spell.

    This might be a silly question, but it's a spell you are casting, right, and not something channelled in a macro? Because the `channelling` condition in macros counts as "true" during the "recast latency" period, and, in fact, until you get the event from the server that the channel has finished.

    So, this macro would definitely prevent recasting during the "safe" period...

    Code:
    /use [nochannelling:Penance]Penance

  9. #9
    Stood in the Fire Ispamx's Avatar
    10+ Year Old Account
    Join Date
    Dec 2010
    Location
    Australia
    Posts
    495
    Quote Originally Posted by SlippyCheeze View Post
    I can't explain it, but my experience is exactly matched to semlar's -- it works as described on the box, even for the same spell.

    This might be a silly question, but it's a spell you are casting, right, and not something channelled in a macro? Because the `channelling` condition in macros counts as "true" during the "recast latency" period, and, in fact, until you get the event from the server that the channel has finished.

    So, this macro would definitely prevent recasting during the "safe" period...

    Code:
    /use [nochannelling:Penance]Penance
    As I said above, after clearing my Cache and updating addons I have also been able to produce the queueing seen in semlars video, but only with Custom Lag Tolerance OFF. As soon as I turn it back on, no matter what I set it to, I get the issues I described above. And no, I'm not using and macros like that. It happens with spells I have dragged right off the spellbook. I'm not pursuing a further solution since I am content with just playing with it off. Still not sure what it causing the issue though.

Posting Permissions

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