tullamods / OmniCC

Cooldown count for everything
https://tullamods.com/omnicc
MIT License
99 stars 21 forks source link

CPU usage #300

Closed Ryanpode closed 5 years ago

Ryanpode commented 5 years ago

Just wanted to make sure this seems normal. I'm using OmniCC with Tellmewhen and ShadowedUF, so there are a lot of cooldowns being displayed at a time.

I used a CPU tracking addon during a raid encounter (LFR Sivara), and the CPU usage keeps increasing over the entire fight.

Here's the CPU addon chart: https://imgur.com/LRO9xe6.png

This is an example of what my UI looks like on this fight, about halfway through the encounter. This is on Mythic on a different attempt, but the symptoms are consistent. There's a lot of CDs being rendered, but I can't think of why it would keep getting worse and worse. https://i.imgur.com/I1heGdI.png

Ryanpode commented 5 years ago

Hey, update. It looks like the biggest culprit is having the target debuffs turned on in Shadowed. Even if I only have a few shown on the screen. Here's a graph of a different attempt on the same fight with target debuffs turned off. https://i.imgur.com/4S2szwx.png

Tuller commented 5 years ago

image

That's some debug output for casting a single debuff on a target and waiting for it to expire. Cooldown:SetTimer is called about once per tick, with a slightly different start duration each time. This can potentially cause more CPU usage than necessary.

Tuller commented 5 years ago

Try this build and let me know if things improve a bit: https://github.com/tullamods/OmniCC/releases/tag/8.2.4

Ryanpode commented 5 years ago

Looks like that likely did the trick. This was the same LFR encounter with the SUF target debuffs turned on. https://i.imgur.com/oa3X8tk.png

Tuller commented 5 years ago

Yay. Shadowed basically hides a cooldown and then immediately shows it again with new values when refreshing timers. This was causing OmniCC to update a timer at a minimum of twice per frame. I've now altered it to do only a single update.