Can you do a quick fix to ensure when "raid frame" option is off, the addon does nothing related to raid frames
SweepyBoop opened this issue · 1 comments
Hey author, I understand the current raid frame fps stutter issue is a tough one and might take some time to fully fix, and I really appreciate your continuous effort on this great addon ❤️
I'm currently also looking into this to see if there's anything I can provide.
One suggestion I have atm to partially unblock players is to make a quick fix to make sure as long as "raid frame" option is off, addon does nothing on raid frames. Therefore we can still enable unit frames and especially nameplates.
Some raid frame related functions in the addon already check raid frame option, while others don't yet.
e.g., BigDebuffs:Refresh calls CompactUnitFrame_UpdateAuras without checking raid frame option.
Calling complex blizzard functions with side effects is the most likely reason to get taints in combat.
That's why since this xpac I'm avoiding calling Blizzard functions as much as possible when implementing my own addon.
See this example here: SweepyBoop/Sweepy-Boop@d585230
I have some code to sort raid groups by a specific order (party 1, me, party 2 since I use mouse up/middle/down to target these respectively).
My initial code calls Blizzard functions such as CompactUnitFrame_SetUnit, but it seemed impossible to side step taints. Then I learned from some post that it's always safe to just use Widget APIs.
So I updated my code to tweak raid frame positions via frame:SetPoint.
I understand with the complexity of BigDebuffs now, it's probably impossible to not use CompactUnitFrame_* Blizzard functions at all, but I think one way to narrow down the investigation is to check Blizzard code changes in 10.0.5 that introduces new side effects.
Thanks for the feedback. I fully agree that minimizing direct calls to the CUF functions is essential. In fact, your insight is pretty much spot on as I found this to be the culprit of the recent FPS stutters. I'll be posting a release that hopefully fixes that shortly.
I fixed the CompactUnitFrame_UpdateAuras hook to check if raid frames are enabled. I'll keep this issue open until I've had a chance to confirm it's honored everywhere else.