Skip to content
This repository has been archived by the owner on Jan 21, 2024. It is now read-only.

CPU Spike causing noticable stutter upon pressing modifier keys #497

Open
Ketrel opened this issue Dec 22, 2022 · 3 comments
Open

CPU Spike causing noticable stutter upon pressing modifier keys #497

Ketrel opened this issue Dec 22, 2022 · 3 comments
Assignees
Labels

Comments

@Ketrel
Copy link

Ketrel commented Dec 22, 2022

Issue description:

When pressing a modifier key (shift/ctrl/alt) there is a noticable stutter.
It looks like it's a result of binding UpdateAll to the ACTIONBAR_SLOT_CHANGED event

How to reproduce:

  1. Have a lot of buttons
  2. Press modifier key
  3. Experience very noticable stutter

Technical info:

  • Addon Version: 1d7813b
  • Client: Retail
  • Client Patch Version: 10.0.2

Additional context:

I've definitely traced it to that event triggering UpdateAll
I'm trying to narrow down what's causing it, and see if there's anything that could be added to avoid or reduce this stutter.
(Commenting out the event binding for that one immediately resolves the stutter, but I'm not sure what might be missed by not reacting to this specific event).

For reference, I added a counter, that ONLY fires when it's ACTIONBAR_SLOT_CHANGED calls UpdateAll, and prints a cumulative total and then tapped shift once. UpdateAll fired 6160 times JUST for the ACTIONBAR_SLOT_CHANGED event.

This particular toon has a total of 356 buttons across all bars, many of which are hidden without specific keypresses, or only show on page 2 or similiar. (This figure was derived by counting the instances of "Macro_text" in the saved variable file in the block for the toon I'm testing with.

@ylixir
Copy link
Collaborator

ylixir commented Dec 23, 2022

is this a regression, or has it been like this for a while?

@Ketrel
Copy link
Author

Ketrel commented Dec 23, 2022

Nope, not a regression.
I have been trying to track this down for a while and finally isolated which event binding was causing it.
(This was present at least during all of SL)

@AlexFolland
Copy link

Nope, not a regression.
I have been trying to track this down for a while and finally isolated which event binding was causing it.
(This was present at least during all of SL)

Beautiful. I did the same with #156 and finally fixed it with #158 . However, it seems that was reverted, so a performance issue with lots of buttons may still be lurking. I'm not sure my code which makes the buttons only register the necessary events, or similar code, is present.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants