SpellFlash

141 - Extreme CPU usage

What steps will reproduce the problem?

1. With SpellFlash, SpellFlashCore (& its embedded BigLibTimer) & SpellFlash_Mage, enter a LFR 25 man "raid" as an 85 Mage.

2. Notice much higher than average interface slowdown/lag on various fights.

3. Do CPU tests after the raid solo on target dummies using OptionHouse, AddonLoader (so that loads properly) and only the three mods above running.

What is the expected output? What do you see instead?

Expected: SpellFlash to use 0 CPU/second when out of combat and and at maximum, a small amount in combat.

Instead: it uses an extreme amount of CPU time both idle and in combat. More than any mod I've CPU tested for the longest time. Which is what was causing the 25m interface lag.

With "Blink Spells" active:

  • SpellFlashCore (with embedded BigLibTimer): 24-30 CPU/second.
  • SpellFlash: 7.8-8.1 CPU/second
  • SpellFlash_Mage: 0.650-0.720 CPU/second
  • for a grand total of: 32-39 CPU/second

With Blink Spells turned off and the UI reloaded:

  • SpellFlashCore: 12-15 CPU/second
  • SpellFlash: same as above
  • SpellFlash_Mage: same as above
  • for a grand total of 20-24 CPU/second.

Note that this isn't the "cumulative" CPU recorded by OptionHouse (which is irrelevant), its the continual consumption both in and out of combat. The numbers didn't actually vary between in combat and outside of it.

What version of the product are you using?

SpellFlashCore 1.49, SpellFlash 5.109, SpellFlash_Mage r122/1.3.93

Do you have an error log of what happened?

No errors.

Please provide any additional information below.

This mod was looking great for saving time in learning an optimal Mage rotation/spell priority. But the CPU time used is too much.

I've seen a handful of mods use that much CPU time over the past 6 years, but not many. About the only ones as high that I can remember are "range recolor" mods that recolor the Blizzard action buttons when you move out of range. Such as the obsolete RedRange. As SpellFlash does similar things to action buttons, assume that's where the CPU problem is.

tullaRange, on the other hand, uses less CPU time than any other "range recolor" addon. As per its description page: tullaRange is derived from RedRange. The main thing I do differently is that I replace each individual action button's OnUpdate handler with a single global one. The end result is that tullaRange uses less CPU than other implementations.

The mods unusable as-is in large raids due to this problem here. Looking through the code, I see that you are using OnUpdate handlers for action buttons. Hopefully you can change SpellFlash to a similar system as tullaRange uses to reduce the problem. As well, if there is any way to drop its CPU consumption to 0 out of combat, that would also be an improvement.

User When Change
BigRedBrent May 11, 2012 at 01:16 UTC Changed status from Accepted to Declined
BigRedBrent Jan 26, 2012 at 13:13 UTC Changed status from Replied to Accepted
Zidomo Jan 26, 2012 at 12:33 UTC Changed status from Waiting to Replied
BigRedBrent Jan 24, 2012 at 14:45 UTC Changed status from New to Waiting
Zidomo Jan 24, 2012 at 03:10 UTC Changed description:
  Expected: SpellFlash to use 0 CPU/second when out of combat and and at maximum, a small amount in combat.

- Instead: it an extreme amount of CPU time both idle and in combat. More than any mod I've CPU tested for the longest time. Which is what was causing the 25m interface lag.
+ Instead: it uses an extreme amount of CPU time both idle and in combat. More than any mod I've CPU tested for the longest time. Which is what was causing the 25m interface lag.
  With "//Blink Spells//" active:
Zidomo Jan 24, 2012 at 03:09 UTC Changed description:
  What steps will reproduce the problem?

- 1. With SpellFlash, SpellFlashCore (& ites embedded BigLibTimer) & SpellFlash_Mage,  enter a LFR 25 man "raid" as an 85 Mage.
+ 1. With SpellFlash, SpellFlashCore (& its embedded BigLibTimer) & SpellFlash_Mage,  enter a LFR 25 man "raid" as an 85 Mage.
  2. Notice much higher than average interface slowdown/lag on various fights.
Zidomo Jan 24, 2012 at 03:08 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 2 comments
  • Avatar of Zidomo Zidomo Jan 26, 2012 at 12:33 UTC - 0 likes

    Have now tested with a mid-level Warrior & the SpellFlash_Warrior module. Nope, its not the module configuration, its the way SpellFlash does things that is causing the issue.

    First tried the updated r124 of SpellFlash_Mage. Unfortunately, no real change. In fact, a bit more CPU used on the testing I did when blinking was disabled.

    Out of combat and in combat, no blinking: 18-22 CPU/second for SpellFlashCore, 4-7 CPU/second in SpellFlash & 0.4-0.6 CPU/second in SpellFlash_Mage.

    Blinking enabled, in combat: 27-30 CPU/second SpellFlashCore, 5-6 CPU/second SpellFlash, 0.5-0.6 CPU/second SpellFlash_Mage.

    Then switched to the mid-level Fury Warrior with the above + SpellFlash_Warrior r187. That module isn't as complete as the Mage one; it offers no specific options for that Warrior spec. Regardless, SpellFlash uses an even more extreme amount of CPU time on the Warrior than on a Mage.

    Out of combat: 25-27 SpellFlashCore, 17-18 SpellFlash, 0.9-1.2 SpellFlash_Warrior.

    No blinking, in combat: 34-37 SpellFlashCore, 22-24 SpellFlash, 1.1-1.2 SpellFlash_Warrior.

    Blinking, in combat: 42-46 SpellFlashCore average, 21-24 SpellFlash, 1.0.1-2 SpellFlash_Warrior.

    It gets really nuts if you have many things flashing at once on the Warrior; SpellFlashCore was spiking up to 68 CPU/second with many icons flashing.

    Hope the CPU usage can be (greatly) reduced.

  • Avatar of BigRedBrent BigRedBrent Jan 24, 2012 at 14:45 UTC - 0 likes

    Have you tried it with another class? Perhaps it may have something to do with the way the Mage module is configured.

    Check out the addon SpellFlash to help improve your gameplay in World of Warcraft!

  • 2 comments

Facts

Last updated
May 11, 2012
Reported
Jan 24, 2012
Status
Declined - We decided not to take action on this ticket.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees