Page 1 of 2
1
2
LastLast
  1. #1
    Deleted

    Weak Auras "high" CPU Usage

    Hey bois.

    I had some issues with fps drops in raid using ElvUi, which was causing me around 15-20 seconds of hangup according to the CPU Profiler addon over the course of a test, I switched to a Bartender / Suf / WeakAuras setup to recreate everything I liked about ElvUi, but I still have some stutters.

    I have Weak Auras accounting for 6-10 seconds of hangups per test depending on the fight, so I was wondering what could cause those ? I assume having lots of auras running (which is my case), but I was wondering if there were resources available on the subject ?

    Specifically, I'm wondering about how loading auras works with aura groups (ie is the whole group loaded if some of the auras in it are loaded ?), and what kind of custom functions are the heaviest on the cpu ?

    (For reference, I play on a 1060 6G, 8Gb ram and i5 6500, on medium settings 1080p in raids, I have 50-60 stable fps then a 0,5-1 second freeze comes up, then back to stable 60)

    Thanks to anyone who might have some answers !

  2. #2
    I dont have this issue in raids at all, and i run a Elvui + weakaura custom scripts and what not .. (might be hard to explain), Half my Hud is Weakaura loading groups and what not (Custom Lua), and pc i do some of my raids on (depending on my situation for what pc i am using) has worst settings then yours do

    ATM my Weakauras runs at 23.22 MB

    I run a total of 103.19 MB for Addon Mem

    Not sure what else i can say....

    Edit:: I do have Hangups when first logging on my Dk mostly takes a bit to load things up but it just started recently

  3. #3
    Addon memory is not a performance hit, unless you have 4GB of RAM. An efficient addon keeps more things in memory instead of wasting CPU looking things up that don’t change.
    Originally Posted by Zarhym (Blue Tracker)
    this thread is a waste of internet

  4. #4
    Deleted
    I know that memory isn't an issue, that's why I didn't mention my consumed memory (50-100 mb dependings on situations).

    I used CPU Profiler to determine what was causin the lags, and it tells me it's WA hogging a lot of CPU time

    Might as well use this topic : anyone knows of a way to log Lua errors that might not pop up on the screen the same way one logs fights into CombatLog ?

  5. #5
    @CaptnTorpedo you used the word 'stutters', perhaps you're using an addon to show memory usage? those addons cause small freezes every time they update.
    Also try using Addons CPU Usage addon to calc performance and post a screenshot here with the results.

  6. #6
    Deleted
    That's what I used, sorry, Addons CPU Usage calls this functionnality CPU Profiler, I got them mixed up

    I didn't screenshot, but it was between 8 to 12 s on WA, 2-3 sec on details, and negligible hangups on other addons (like <100ms).

    I removed a few custom WAs for this raid night and it was a bit better, so I think I found what is causind the "overload".

    I have a lot of auras updating on every frame for tracking dots and such, how could I have them refresh less often ?
    I imagine there are some events I could use that would provide a decent update rate while being lighter calculation wise ? (something like updating every 5 frames ?)

  7. #7
    What specifically are they doing that you have them refreshing every frame? Better to have them trigger off events unless there simply isn't an event for it (and dots n stuff most definitely trigger events).

  8. #8
    Deleted
    They're just tracking dot duration and such, and changing colors depending on some factors (duration, procs and such).

    I would have thought so too, but they were part of an aura pack at first, and I build on them rather than making some from scratch and didn't pay attention to the trigger that was used.

    What kind of event would be more appropriate to use for that kind of auras ?

  9. #9
    20 seconds waiting time for a measuring period of 2 minutes is negligible. It ends up delaying a frame only for less than 0.1 ms
    Last edited by Harzerkas; 2018-02-22 at 03:35 PM.

  10. #10
    Deleted
    Addons CPU Usage states that "classic" hangup times range from 1 to 2 seconds when looking at your results.
    20 seconds over 120 seconds is 1/6th of the time spent waiting for the UI to just do its job, it feels like a lot to me.

    The biggest problem is that those 20 seconds waiting time aren't smoothed out, they come as 0,5-1 second freezes, which are a pain in the ass.

  11. #11
    what cpu are we talking here?

    could you also post 1 or 2 of the strings that are causing the lag? people might be able to better dissect with a sample

  12. #12
    Quote Originally Posted by CaptnTorpedo View Post
    Addons CPU Usage states that "classic" hangup times range from 1 to 2 seconds when looking at your results.
    20 seconds over 120 seconds is 1/6th of the time spent waiting for the UI to just do its job, it feels like a lot to me.

    The biggest problem is that those 20 seconds waiting time aren't smoothed out, they come as 0,5-1 second freezes, which are a pain in the ass.
    Hang up times of 1 second are likely not coming from an addon. Your description sounds more like a temperatur problem. I would suggest you monitor the temperatures of your cpu und gpu next time the problem occurs.
    And for the cpu usage addon you shouldn't look at the total time better look at the time spent per frame. Post a screenshot of a measurment and we can help you better.

  13. #13
    It's just a coincidence. The game has been running very poorly for me too recently. I used to get 90+ fps, but recently am seeing less than 50 in the open world so I Tried turning off certain add-ons and it didn't change.
    Owner of ONEAzerothTV
    Tanking, Blood DK Mythic+ Pugging, Soloing and WoW Challenges alongside other discussions about all things in World of Warcraft
    ONEAzerothTV

  14. #14
    Deleted
    https://imgur.com/GR3nGzz

    Did this test on N argus, game ran pretty well, I noticed a few hiccups in phase 4 so they're probably not gonna be accounted for in this test... Is there a way to have it run for the whole duration of a fight ?

    Temps are in line with what I usually have, fans aren't even starting to kick in really, it's pretty safe to say the issue isn't hardware (or at least not temperature related).

    If I understand what the addon is telling me (I may very well be wrong, those labels are amongst the most unclear things I ever saw imo), the UI as a whole is taking on average 94ms to respond to events ? And at peak load WA is taking 5 ms to render on a given frame, ie 16 ms assuming 60fps.
    So is 1/3 of the time spent rendering the UI spent rendering WAs ? or 1/3 of the time spent rendering a frame as a whole ?

    I don't know if that's in line with what I should expect when using auras, but to me it looks like a lot, like ... it takes 10 times my ping for the UI to react to events ?

  15. #15
    Quote Originally Posted by CaptnTorpedo View Post
    https://imgur.com/GR3nGzz

    Did this test on N argus, game ran pretty well, I noticed a few hiccups in phase 4 so they're probably not gonna be accounted for in this test... Is there a way to have it run for the whole duration of a fight ?
    Go to your Interface options, the settings are in there. Increase the Gather Time setting (though it's max is 5 minutes). If that's not long enough, turn on "On Login Start Capture." Then you can stop, start and reset from the main window (bottom right corner).

    Quote Originally Posted by CaptnTorpedo View Post
    If I understand what the addon is telling me (I may very well be wrong, those labels are amongst the most unclear things I ever saw imo), the UI as a whole is taking on average 94ms to respond to events ? And at peak load WA is taking 5 ms to render on a given frame, ie 16 ms assuming 60fps.
    So is 1/3 of the time spent rendering the UI spent rendering WAs ? or 1/3 of the time spent rendering a frame as a whole ?

    I don't know if that's in line with what I should expect when using auras, but to me it looks like a lot, like ... it takes 10 times my ping for the UI to react to events ?
    Everything is in terms of seconds. So an average of 94ms out of every second is spent processing addons.. Peak would be the highest within a single second. I'm almost certain the decimal place is wrong (should be 50 ms, not 0.0500 ms). At 50 ms, which would be a little over 3 frames worth of delay (assuming you're usually at 60 FPS).

    Granted I'm just messing with target dummies but my peak for WA is only 18.1 ms.

    Quote Originally Posted by CaptnTorpedo View Post
    They're just tracking dot duration and such, and changing colors depending on some factors (duration, procs and such).

    I would have thought so too, but they were part of an aura pack at first, and I build on them rather than making some from scratch and didn't pay attention to the trigger that was used.

    What kind of event would be more appropriate to use for that kind of auras ?
    COMBAT_LOG_EVENT_UNFILTERED probably (UNIT_AURA maybe) and then you'd immediately check the unit and/or spellId so that you're only doing the processing when the relevant information is updated. You only want to use Every Frame as a last resort. Even then you'd want to throttle it to only update X times per second. Can you upload your WAs to wago.io so I can see exactly what they're doing? I'm not sure what specifically you're doing that makes custom code necessary.

  16. #16
    Deleted
    They're not my auras. I took this pack (https://wago.io/EkZU94ADZ) and fiddled with it graphics wise, but didn't alter the triggers.
    It's a pretty widespread aura pack for warlocks.

    Regarding refresh rates, it only applies to custom triggers right ?
    I have a few other auras that just check for buffs and such and display simple icons, this pack is the only one with custom code.

  17. #17
    Yeah, the custom text is probably fine. I thought you had custom triggers using every frame.

    A better addon for hiccups is CPUThieves. It's 4 years old, but still works since Blizzard hasn't changed the CPU tracking API since like Wotlk. It will tell you what specifically frame/script/function/addon caused the hiccup immediately after it occurs (and how long the hiccup was, etc). I'm not sure how easy/hard it will be to narrow it down from there, but it's a much better starting point.

  18. #18
    Forget about CPU addons, do it by elimination. Try the game without WA, does it still perform badly? Yes, it's not WA. No, remove all auras from WA? Did something change? No, throw away that piece of shit. Yes, add auras one by one until you reproduce the issue. Notify the addon developers. The end.

  19. #19
    Deleted
    Quote Originally Posted by Mosotti View Post
    Forget about CPU addons, do it by elimination. Try the game without WA, does it still perform badly? Yes, it's not WA. No, remove all auras from WA? Did something change? No, throw away that piece of shit. Yes, add auras one by one until you reproduce the issue. Notify the addon developers. The end.
    I know it's Weak Auras causing it, I tried without any and had no issues. None of those auras alone seem to pose any issue, so it's probably related to how they're designed / how they interact together, hence why I'm looking for more information on what the heavy functionalities are in weak auras to fix it.

    Quote Originally Posted by ShmooDude View Post
    Yeah, the custom text is probably fine. I thought you had custom triggers using every frame.

    A better addon for hiccups is CPUThieves. It's 4 years old, but still works since Blizzard hasn't changed the CPU tracking API since like Wotlk. It will tell you what specifically frame/script/function/addon caused the hiccup immediately after it occurs (and how long the hiccup was, etc). I'm not sure how easy/hard it will be to narrow it down from there, but it's a much better starting point.
    Yes there are custom triggers in the aura pack I linked (and use, after visual modifications). I was just wondering about the ones I made, that don't use those custom triggers.

    I'll try CPUThieves, thanks.

  20. #20
    Warchief vsb's Avatar
    10+ Year Old Account
    Join Date
    Mar 2011
    Location
    Mongoloid
    Posts
    2,166
    WA itself is CPU hungry and popular weakauras often written poorly (each weakaura works as a separate addon) and contribute to bad CPU utilization. Try tellmewhen.

Posting Permissions

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