WeakAuras

WeakAuras

200M Downloads

2 Auras have inconsistent CPU time usage (the more I play, the more resources these 2 auras use) and cause stuttering after ~1 hour of playtime.

TobeeM opened this issue · 9 comments

commented

Is there an existing issue for this?

  • I have searched the existing open and closed issues.

Description

Recently, I noticed that after playing for about an hour or two I start having stutters and they only get worse the more I play. Thanks to profiling, I was able to narrow the problem down to two auras. Both times I profiled for 5 minutes on Target Dummies in Dornogal with the only difference being the total combat time (see screenshots), yet the the auras' CPU usage grows more and more the longer I play, which only happens with these 2 auras. A reload does fix the issue, but I don't think reloading every hour is the right way to fix this issue. I also initially thought the stutters happen because of the custom grow, but that's not the cause, since they still occur even if these auras are placed in a dynamic group without custom grow or a normal group.
Neither of the two auras has any custom code so I'm really confused why this happens.
The stutters are very noticeable after using Rampage and less noticeable (but still present) after using either Bloodthirst or Raging Blow.

Edit: After some more testing I discovered that such behaviour only occurs when talented into Reckless Abandon. I've profiled the same way I described in my ticket both on my priest and warrior (when not talented into RA) for 1 hour and had no stutters or inconsistent CPU time usage by any of the auras (these 2 included). So I'm pretty confident that there's something wrong with Reckless Abandon itself.

I'm also going to add an extra step to Reptoduction Steps to include talenting into RA.

WeakAuras Version

WeakAuras 5.17.0

World of Warcraft Flavor

Retail (Default)

World of Warcraft Region

EU

Tested with only WeakAuras

I got this issue with only WeakAuras enabled

Lua Error

No response

Reproduction Steps

  1. Install these 2 weakauras - https://wago.io/VPW_VdBhf
  2. Talent into Reckless Abandon
  3. Profile them in combat with Target Dummies for 5 minutes (make sure to use the abilities themselves)
  4. Look at the results
  5. Spend some time in combat while also using these abilities
  6. Profile these 2 weakauras for 5 minutes again (like in Step 3)
  7. Compare the results to results from Step 4

Last Good Version

No response

Screenshots

5m
5 minutes in combat - Auras (no addons)

5m sys
5 minutes in combat - Systems (no addons)

30m
30 minutes in combat - Auras (no addons)

30m sys
30 minutes in combat - Systems (no addons)

30m
30 minutes in combat - Auras (with addons)

Export String

!WA:2!LE1wWTXvzyVzBi1QuASYfItsBvCtCZLbLyLBqjHelB5y76lIvY2PWaAxT7rA3417EYzxzzfG2gxO42uceXLaLxa9whggYiAlqOnu8ukTjdL)iYm8emm(bEGNyYdmdWdH)ZURKStKbMPVyD2Z5)C(VCoFF)FwyYWozpC0EoA0deEMWAH1wyNlL1MPryXvuNwJztPRpUPX5oNctlsABBtxdA2Ik5ThQ)YtMCQmtQfxpxnLcU62SXPUg2woHkNNzxGoKQT1wwZd2wvflvCXK2gwUz7lXyPtiv13d9zBAZgwqqqmwbMjDB6UUuNNy)7NF8rnS3FJZF)9Wuu9o7Ji54QWCdLnNHLHJEO44pUHM3LzKppH5S1UzbdF(kAKSfYLlDjkHnyIrsoWeJe3f)qsPatj28ouIP5qAoHwYPqwYSel3uO1gZvntF9MkDMuP7vkDJLsYi4ssPsMyKrIxa9ywQPsjctYB1SdsumD1LSuMHGjFbRGqi0TXmMWSumNednm6VCzhIzoVcb0oBw)jfRGErIK3RYf30wrBG4ogNJSzPzkGf7qXXivDZWUdjPAQ44WhL1vXe9lFyTSb3s(1srrXKIhi6HZ6yxGPsYAmd1M5k5OIBqmRFvxVI)Vj0YtODK6SfuyKiduW0mYu6gUKkmVyHx3K8UhdmpfgtRDr)XJNlNdXT9SoKzWSqQNOhi6bQ4ARgKsBr4hxTldnAh9ILANigwroBbId)(RSILXmk8rhb(idSirXHKYLrSY7QVoytXTSTi10WnXTid)2I5qWNrAoZZnLhtWXJpJIH1aWXWnahh(uWjGtI)(q39mvZXW7d80vCveVT)BWb4tXpLSP6tkrIXyL8ZeHGhKdzHFiYMly2SORZzKpuScgAvnlMOphxs)dVNsv4HKH)B9Qgw5Sz(5uijftQUIyy19Uq0kgOvP8Ug2EBW9bRf(qHQQODMc4HOnQH1AGecW9dTxtfbvA2fTsv0GsKHha(WWdIvNqWdfcwFiOJpF3q4)bSjjVxSWgGncBb6eEeAN9fSXijz25zehNi7of3M9q7OGdjtEIfHzOMs3U44wY1wXNvCWF61SOsjhyRW2QXWxWE7DmSar7e(b38cqv4AWvJa)q4Q4Wx7Mpl8M38c14hStDdLHpAiisi6g4ZsMdHOnxth2o8WL5lG3aQtlxUXk3)NBiyhHWKAs86AZL5WrpKZwZEOdE0EI1dpfz4g99aEkO1v1mCotblKdywsmfRs0ou8gN2hPnQTgre66YlrdQe(199U92wd8yq7ivGJIl)zfgw7ue21z2mSPAiSJdE4VXT0w4XPpIlzo3mE)X)gndnJRXmKGVeODEpg4emaoE5gRfFx9eLsJCp2gl6DDCR3BvhDf8oSjtiT7vFNMK8kQLYKZ02MPFBFtmMJOnLHMR(5BHp75U95oxTCCfhDfMTlwRsZZMXgFSev82GADggrA4Lf6pvayPM3CfrC0umf68tfmOwGZSC9yIhFI0Jm0yjAolNwzh09SAXLwj8THHAgxD8AvhFVVUwuG6PLfOwupcmBgBTm8hdYl5Nh1jLJ37ePhNUbVjXoA2CuTQxXnEV4N18jrQNWl6zhhpBKRe0o9Xw9lokJOA4r2t3wlTYFOe3ynytm8Pj3IG6SVBpTVBfBHF65E9t5gf4kjMJYHeiwN21QhInQj0DSALTLLf7B1JHwCJT8NlbPHqlke90Oqapxa6yzshWkCNTiYASHUw9qQzUTVvVaCVXT)f8SykN1KixBfxdc5Q53YiJT)3WMkZju8MlOlzaIHJQdKu14Wc63KHG9GHy1)I32x8VwlVPDXbyeSNPLAPK33bIg7W(Vj4lSiYmEkZagd555tXbwXXEaQE7mTUH60w4fUyv(NbVw3EBLZxFxdp4jU(l)YVvBTn0GN4VD1R(xART1jkUiF5(dA96V1tVITMYtdrC(q9k8)oIxB7n5T4igOh7WB64(ImwypWlja5W(XVGmyiaNXRoatRdMNhMraS0bBGcN1JqbycGd4cfGzHI7a(McqjD4CYWxa(IWxcEA4zeGNfAhEEr48IW8WZbZXB1)LHVYdaVOi8vHfaIWkalbz9XAdUW6G8X3vSOoWfPDm0yJLqkt8XtNE8rLg6udMg(A4lNwbjBYSdxADWxhD53qgklVWUBKv6)xZQwvIRNLLLHIpmpfcsY5tpEs)Ozz5AqIIPSxIMu8WrpC9K1lHOWR0oCbbVAgMfWfxYp7ACyEbTowzGljGL0S6eJ86UtaD)omF9JX4ci9ArBH6yz6W(Wj28weE9k6WE4Rb7L)3LA0ZFAluTH8sE6qXcTwgpPPzDmSYBsUuz6Su)doenmFpR0oz6gVlzcEhNELMJ5kdECUlPRhnT3aTsOAjL50Hpgef(KCvJ3TYVE)FRfeg5Eosd8Q6GX5A0wSUamUGyD4ucnvPPm3AGHQEUzN16qJQ3tFjpeexeLE0ulzsu7Sfk9ViVjXeWOIXpNT9mCj4XGJcFC4teifUkkS3gnXG54s3yDhYBW2VHJcYiOP7vZQlPdf0iXjSG(G(HbdXmS4sRjY3EAcH2lVC6kXrQ6sn7kdp5WDlPQtuNEaiSyx20Uo(XLMvXSarC(zvygC3uX2QUlyQ6kw5rzxDdxxEEu4e2D2TeO2n8Eb7p8XGRh(GWnwImh1WNyinYuc)o(wgwK)W)9PRh5LIglAtfc4(pceETWnIZ1ycxx03Ez495)JorpuuojHVrIWnw0))dZsIhlW1fcoCe18V(3p6DUZFEWt8ED25jBRTxCWt82BCJ4mxbDk8UZxVekdVH8crHXAiXgghfwp4jE0)(TY(9F6)ixGnKSfIQhZxun8PBkOgKGuYqAycUIyys62GFck69A3883CEU0x4xebQI)8RGRaVkC6aTVWt5j0f(mYWNDlcJUBuRkKbKbfUCuiBDfOGQVWZHrHNG2cBJJK5Si57Ax0Lt0HSi47so(NtJGq36eDI1zk54)awhKo5zAYBErCtiZch17tH(sc5GVf2xc(2W3XFdxwg(Uqm47jUW2RtJHbGt9ZR1bb)aNRepGdyCxwGGrWRGCSKLhf)iEuGPKFqGb4vqkNxhQ6tV0nsV8cY(Cm)m5kE))bECg6WpvhE1ndV2LGxpua9Zpx3NbYNuaU6hysa4xIGE4nG3eH5dEY(VZ)8o35o)j4ACqU2uNIrs33ip5HNeb5WBPd)AoEgwSfGzjL8iLxeetxeEBD43uhMcVJm8B1H3nao(enHsiueXshaUbh1XquxdqrRaCWVFfymaAaxG)W))ye4wCWr4zV1P)p)

Bisector Report

No response

commented

It's normal the time grows as you spend more time using the aura, the proportion of usage relative to other auras remain the same.

The peak time use by frame (shown in red) is more concerning, but if the game engine have fps issues during these 30mn and that happen while weakauras is executing code, it will show as weakauras taking time when it possibility is not the case.

commented

I can confirm that the issue is real and game is unplayable because of that, if you track any Bloodbath/Bloodthirst/Crushing Blow/Raging Blow related spell.

Also a lot of people experiencing this issue:
https://eu.forums.blizzard.com/en/wow/t/reckless-abandon-causing-stutter-need-testers/532893/13

commented

Okey I tested more because I was curious.

If I wrote a Custom -> Status -> Every Frame (High CPU usage) trigger where I track cooldowns, and charges.
There is no issue like this.

Some example code:

local auraId = 461288 -- Bloodbath id
local spellId = 23881 -- Bloodthirst id
local auraId = 396752 -- Crushing Blow id
local spellId = 85288 -- Raging Blow id

local cdForSpell = C_Spell.GetSpellCooldown(spellId)
local startTime = cdForSpell.startTime
local duration = cdForSpell.duration
local cdTime = startTime + duration - GetTime()
local charges = C_Spell.GetSpellCharges(spellId).currentCharges

CrushingBlow.isActive() = {return not C_UnitAuras.GetPlayerAuraBySpellID(auraId) == false}
CrushingBlow.isNotActive() = {return not C_UnitAuras.GetPlayerAuraBySpellID(auraId) == true}
RagingBlow.cooldown() == 0 = {return startTime == 0 or charges > 0}
RagingBlow.cooldown() <= 0.3 =
{
if charges > 0 then
return true
else
if (startTime == 0) then -- If no CD
return true;
else -- If CD
return cdTime <= 0.3
end
end
}

Bloodbath.isActive() = {return not C_UnitAuras.GetPlayerAuraBySpellID(auraId) == false}
Bloodbath.isNotActive() = {return not C_UnitAuras.GetPlayerAuraBySpellID(auraId) == true}
Bloodthirst.cooldown() == 0 = {return startTime == 0}
Bloodthirst.cooldown() <= 0.3 =
{
if (startTime == 0) then -- If no CD
return true;
else -- If CD
return cdTime <= 0.3
end
}

According this to testing, I suspect there is some issue with Event tracking or idk...

commented

Whatever that is, it isn't lua code.

commented

Also, if you are starting to lag and you restart the game, it will "reset", so there will be no lag for 3-5 min.

Then it will start, and no matter if you reset the Combat, the only solution is game restarting.

commented

Would just like to add to this as the person who noticed it first and added the thread on battlenet forums. More and more people have come forward with this same issue, and extensive testing has been taken.

It pretty much all points to the Weakaura addon now, not any individual weakaura inside of it (as they all seem to be affected). from what I can see and as stated above, very specifically when Rampage and the other abilities are in play in any weakaura that uses them there's frame stutter on use.

I wonder if it's the force Icon change? appears to only do it with abilities that 'change icons' so Raging Blow goes into Crushing Blow etc. etc. Rampage causes both RB / BT to turn to CB / BB. Just a hunch, maybe that's nothing to do with it but yeh.

Appreciate you noticing this issue and looking into it, it's quite a big deal considering RA will be the main talent Fury warriors use Season 1. All in all, it's driven me crazy the last week testing everything thoroughly so would be amazing to get a fix.

Thanks for your time.

commented

Thank you all, we are aware and investigating. We don't need testimonials from the entire warrior playerbase to convince us to look at a bug report.

commented

Thank you all, we are aware and investigating. We don't need testimonials from the entire warrior playerbase to convince us to look at a bug report.

Wasn't trying to be a pest. After a week of trouble shooting this and trying pretty much everything I can to narrow it down and get others to check it, my brains fried and just wanted to post my experience.

Once again, thank you for looking into it, really appreciated.

commented

This is fixed in the current alpha and for the next release, which we'll do before the raid opens.