Hekili Priority Helper

Hekili Priority Helper

44M Downloads

MM Hunter High CPU Usage

fism opened this issue · 13 comments

commented

Before You Begin

  • I confirm that I have downloaded the latest version of the addon.
  • I checked for an existing, open ticket for this issue and was not able to find one.
  • I edited the title of this bug report (above) so that it describes the issue I am reporting.

Describe the Issue

Addon uses a significant amount of CPU resources which causes FPS drops in crowded areas. When the addon is disabled, the FPS does not drop.

How to Reproduce

Play as MM and use Addon.

WoWScrnShot_092121_135126

Player Information (Link)

https://pastebin.com/LprCNnxr

Error Messages (Link)

NA

Additional Information

No response

Contact Information

fism#7777

commented

I should have run the commands during combat but perhaps having both can help identify the issue. Just to clarify, the previous results I posted were not taken during combat. The following command outputs are generated when I am in combat:

[14:41:03] Dump: value=Hekili:DumpProfileInfo()
[14:41:03] 
0 ACTIONBAR_HIDEGRID_1 0.000 0.000
0 ACTIONBAR_PAGE_CHANGED_1 0.000 0.000
0 ACTIONBAR_SHOWGRID_1 0.000 0.000
44 ACTIONBAR_SLOT_CHANGED_1 0.303 0.007
0 BARBER_SHOP_CLOSE_1 0.000 0.000
0 BARBER_SHOP_OPEN_1 0.000 0.000
0 BuildUI 0.000 0.000
762 CLEU_HANDLER 8.114 0.011
2534 COMBAT_LOG_EVENT_UNFILTERED_1 8.781 0.003
2534 COMBAT_LOG_EVENT_UNFILTERED_2 1.546 0.001
2534 COMBAT_LOG_EVENT_UNFILTERED_3 0.252 0.000
180 CURRENT_SPELL_CAST_CHANGED_1 0.080 0.000
0 CVAR_UPDATE_1 0.000 0.000
0 DISPLAY_SIZE_CHANGED_1 0.000 0.000
926 Display_OnEvent 14.151 0.015
10732 Display_OnUpdate 1850.991 0.172
0 ENCOUNTER_END_1 0.000 0.000
0 ENCOUNTER_START_1 0.000 0.000
192 EXECUTE_CHAT_LINE_1 0.263 0.001
401 GET_ITEM_INFO_RECEIVED_1 0.000 0.000
0 OverrideBinds 0.000 0.000
0 PLAYER_CONTROL_GAINED_1 0.000 0.000
0 PLAYER_CONTROL_LOST_1 0.000 0.000
1 PLAYER_ENTERING_WORLD_1 0.000 0.000
1 PLAYER_ENTERING_WORLD_2 0.000 0.000
1 PLAYER_ENTERING_WORLD_3 0.000 0.000
0 PLAYER_ENTERING_WORLD_4 0.000 0.000
0 PLAYER_EQUIPMENT_CHANGED_1 0.000 0.000
1 PLAYER_REGEN_DISABLED_1 0.009 0.009
0 PLAYER_REGEN_ENABLED_1 0.000 0.000
0 PLAYER_SPECIALIZATION_CHANGED_1 0.000 0.000
0 PLAYER_SPECIALIZATION_CHANGED_player_1 0.000 0.000
3 PLAYER_STARTED_MOVING_1 0.009 0.003
3 PLAYER_STOPPED_MOVING_1 0.010 0.003
0 PLAYER_TALENT_UPDATE_1 0.000 0.000
0 PLAYER_TALENT_UPDATE_2 0.000 0.000
1 PLAYER_TARGET_CHANGED_1 0.037 0.037
0 PLAYER_TOTEM_UPDATE_1 0.000 0.000
409 ProcessHooks 1625.600 3.975
0 SOULBIND_ACTIVATED_1 0.000 0.000
0 SOULBIND_CONDUIT_CHARGES_UPDATED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_CLEARED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_REMOVED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_UPDATED_1 0.000 0.000
0 SOULBIND_CONDUIT_INSTALLED_1 0.000 0.000
0 SOULBIND_CONDUIT_UNINSTALLED_1 0.000 0.000
0 SOULBIND_FORGE_INTERACTION_ENDED_1 0.000 0.000
0 SOULBIND_FORGE_INTERACTION_STARTED_1 0.000 0.000
0 SOULBIND_NODE_LEARNED_1 0.000 0.000
0 SOULBIND_NODE_UNLEARNED_1 0.000 0.000
0 SOULBIND_NODE_UPDATED_1 0.000 0.000
0 SOULBIND_PATH_CHANGED_1 0.000 0.000
0 SOULBIND_PENDING_CONDUIT_CHANGED_1 0.000 0.000
1919 SPELL_DATA_LOAD_RESULT_1 0.286 0.000
172 ScrapeUnitAuras 12.162 0.071
0 SpecializationChanged 0.000 0.000
0 StartEventHandler 0.000 0.000
0 TotalRefresh 0.000 0.000
74 UNIT_AURA_player_1 0.245 0.003
111 UNIT_AURA_target_1 0.245 0.002
0 UNIT_COMBAT 0.000 0.000
0 UNIT_COMBAT_player_1 0.000 0.000
216 UNIT_INVENTORY_CHANGED_player_1 0.000 0.000
103 UNIT_POWER_UPDATE 0.888 0.009
103 UNIT_POWER_UPDATE_player_1 0.888 0.009
3 UNIT_SPELLCAST_CHANNEL_START_player_1 0.024 0.008
3 UNIT_SPELLCAST_CHANNEL_STOP_player_1 0.144 0.048
0 UNIT_SPELLCAST_DELAYED_player_1 0.000 0.000
31 UNIT_SPELLCAST_SENT_1 0.298 0.010
62 UNIT_SPELLCAST_SUCCEEDED_player_1 0.129 0.002
0 UPDATE_BINDINGS_1 0.000 0.000
0 UPDATE_SHAPESHIFT_FORM_1 0.000 0.000
0 VARIABLES_LOADED_1 0.000 0.000
1258 forecastResources 42.196 0.034
409 state.reset 184.488 0.451
0 updatePowers 0.000 0.000
[14:41:03] empty result
[14:41:10] Dump: value=Hekili:DumpFrameInfo()
[14:41:10] Hekili 3982.484
7144 GeneralEvents 23.773 0.003
0 HekiliDisplayAOE 0.000 0.000
0 HekiliDisplayCooldowns 0.000 0.000
0 HekiliDisplayDefensives 0.000 0.000
12818 HekiliDisplayInterrupts 2068.983 0.161
12818 HekiliDisplayPrimary 2068.983 0.161
0 Hekili_AOE_B1 0.000 0.000
0 Hekili_AOE_B10 0.000 0.000
0 Hekili_AOE_B2 0.000 0.000
0 Hekili_AOE_B3 0.000 0.000
0 Hekili_AOE_B4 0.000 0.000
0 Hekili_AOE_B5 0.000 0.000
0 Hekili_AOE_B6 0.000 0.000
0 Hekili_AOE_B7 0.000 0.000
0 Hekili_AOE_B8 0.000 0.000
0 Hekili_AOE_B9 0.000 0.000
0 Hekili_Cooldowns_B1 0.000 0.000
0 Hekili_Cooldowns_B10 0.000 0.000
0 Hekili_Cooldowns_B2 0.000 0.000
0 Hekili_Cooldowns_B3 0.000 0.000
0 Hekili_Cooldowns_B4 0.000 0.000
0 Hekili_Cooldowns_B5 0.000 0.000
0 Hekili_Cooldowns_B6 0.000 0.000
0 Hekili_Cooldowns_B7 0.000 0.000
0 Hekili_Cooldowns_B8 0.000 0.000
0 Hekili_Cooldowns_B9 0.000 0.000
0 Hekili_Defensives_B1 0.000 0.000
0 Hekili_Defensives_B10 0.000 0.000
0 Hekili_Defensives_B2 0.000 0.000
0 Hekili_Defensives_B3 0.000 0.000
0 Hekili_Defensives_B4 0.000 0.000
0 Hekili_Defensives_B5 0.000 0.000
0 Hekili_Defensives_B6 0.000 0.000
0 Hekili_Defensives_B7 0.000 0.000
0 Hekili_Defensives_B8 0.000 0.000
0 Hekili_Defensives_B9 0.000 0.000
0 Hekili_Interrupts_B1 0.000 0.000
0 Hekili_Interrupts_B10 0.000 0.000
0 Hekili_Interrupts_B2 0.000 0.000
0 Hekili_Interrupts_B3 0.000 0.000
0 Hekili_Interrupts_B4 0.000 0.000
0 Hekili_Interrupts_B5 0.000 0.000
0 Hekili_Interrupts_B6 0.000 0.000
0 Hekili_Interrupts_B7 0.000 0.000
0 Hekili_Interrupts_B8 0.000 0.000
0 Hekili_Interrupts_B9 0.000 0.000
0 Hekili_Primary_B1 0.000 0.000
0 Hekili_Primary_B10 0.000 0.000
0 Hekili_Primary_B2 0.000 0.000
0 Hekili_Primary_B3 0.000 0.000
0 Hekili_Primary_B4 0.000 0.000
0 Hekili_Primary_B5 0.000 0.000
0 Hekili_Primary_B6 0.000 0.000
0 Hekili_Primary_B7 0.000 0.000
0 Hekili_Primary_B8 0.000 0.000
0 Hekili_Primary_B9 0.000 0.000
0 KeyhandlerFrame 0.000 0.000
4 NamePlateWatcherFrame 0.009 0.002
1 OptionsEmbedFrame 0.006 0.006
789 RazorCoralFrame 3.880 0.005
0 SkeletonListener 0.000 0.000
329 UnitEvents:player 3.092 0.009
329 UnitEvents:target 3.092 0.009
[14:41:10] empty result
commented

I apologize, it appears to be happening with BM as well.

WoWScrnShot_092121_141302

commented

Are you reporting that you've noticed this specific to Marksmanship Hunter (i.e., you don't see this in other specs or classes)? Or MM just happens to be the spec that you play? Thanks.

commented

Yes. When I notice FPS drops in high traffic areas it's usually a CPU-related issue on my system. That's what caused me to investigate the addons I use. When I disable the addon, I don't lose the FPS. It's a pretty significant loss though, from 120fps down to 40fps or so. I wouldn't be able to raid with this addon with this current state. Not the end of the world but I did notice a DPS increase using it, so I thought it was worthwhile mentioning it to you. I have a decent CPU (i9 9900K 5Ghz) and confirm it's not a throttling issue.

commented

And you've noticed this specifically in high traffic areas only?

commented

Yeah, I'm asking you for more information to investigate, not because I don't believe you or something.

I'd be curious to see the output of /dump Hekili:DumpProfileInfo() and/or /dump Hekili:DumpFrameInfo() for investigative purposes.

commented
[14:31:36] Dump: value=Hekili:DumpProfileInfo()
[14:31:36] 
0 ACTIONBAR_HIDEGRID_1 0.000 0.000
0 ACTIONBAR_PAGE_CHANGED_1 0.000 0.000
0 ACTIONBAR_SHOWGRID_1 0.000 0.000
6 ACTIONBAR_SLOT_CHANGED_1 0.018 0.003
0 BARBER_SHOP_CLOSE_1 0.000 0.000
0 BARBER_SHOP_OPEN_1 0.000 0.000
2 BuildUI 16.516 8.258
171 CLEU_HANDLER 0.446 0.003
171 COMBAT_LOG_EVENT_UNFILTERED_1 0.565 0.003
171 COMBAT_LOG_EVENT_UNFILTERED_2 0.237 0.001
171 COMBAT_LOG_EVENT_UNFILTERED_3 0.031 0.000
29 CURRENT_SPELL_CAST_CHANGED_1 0.010 0.000
0 CVAR_UPDATE_1 0.000 0.000
0 DISPLAY_SIZE_CHANGED_1 0.000 0.000
96 Display_OnEvent 1.350 0.014
2510 Display_OnUpdate 106.282 0.042
0 ENCOUNTER_END_1 0.000 0.000
0 ENCOUNTER_START_1 0.000 0.000
0 EXECUTE_CHAT_LINE_1 0.000 0.000
337 GET_ITEM_INFO_RECEIVED_1 9.915 0.029
1 OverrideBinds 0.014 0.014
0 PLAYER_CONTROL_GAINED_1 0.000 0.000
0 PLAYER_CONTROL_LOST_1 0.000 0.000
1 PLAYER_ENTERING_WORLD_1 258.530 258.530
1 PLAYER_ENTERING_WORLD_2 0.000 0.000
1 PLAYER_ENTERING_WORLD_3 0.002 0.002
4 PLAYER_ENTERING_WORLD_4 1.032 0.258
0 PLAYER_EQUIPMENT_CHANGED_1 0.000 0.000
0 PLAYER_REGEN_DISABLED_1 0.000 0.000
0 PLAYER_REGEN_ENABLED_1 0.000 0.000
0 PLAYER_SPECIALIZATION_CHANGED_1 0.000 0.000
0 PLAYER_SPECIALIZATION_CHANGED_player_1 0.000 0.000
0 PLAYER_STARTED_MOVING_1 0.000 0.000
0 PLAYER_STOPPED_MOVING_1 0.000 0.000
0 PLAYER_TALENT_UPDATE_1 0.000 0.000
4 PLAYER_TALENT_UPDATE_2 1.032 0.258
0 PLAYER_TARGET_CHANGED_1 0.000 0.000
0 PLAYER_TOTEM_UPDATE_1 0.000 0.000
32 ProcessHooks 59.608 1.863
4 SOULBIND_ACTIVATED_1 1.032 0.258
4 SOULBIND_CONDUIT_CHARGES_UPDATED_1 1.032 0.258
4 SOULBIND_CONDUIT_COLLECTION_CLEARED_1 1.032 0.258
4 SOULBIND_CONDUIT_COLLECTION_REMOVED_1 1.032 0.258
4 SOULBIND_CONDUIT_COLLECTION_UPDATED_1 1.032 0.258
4 SOULBIND_CONDUIT_INSTALLED_1 1.032 0.258
4 SOULBIND_CONDUIT_UNINSTALLED_1 1.032 0.258
4 SOULBIND_FORGE_INTERACTION_ENDED_1 1.032 0.258
4 SOULBIND_FORGE_INTERACTION_STARTED_1 1.032 0.258
4 SOULBIND_NODE_LEARNED_1 1.032 0.258
4 SOULBIND_NODE_UNLEARNED_1 1.032 0.258
4 SOULBIND_NODE_UPDATED_1 1.032 0.258
4 SOULBIND_PATH_CHANGED_1 1.032 0.258
4 SOULBIND_PENDING_CONDUIT_CHANGED_1 1.032 0.258
1913 SPELL_DATA_LOAD_RESULT_1 42.789 0.022
15 ScrapeUnitAuras 0.743 0.050
1 SpecializationChanged 244.286 244.286
1 StartEventHandler 24.446 24.446
1 TotalRefresh 9.090 9.090
14 UNIT_AURA_player_1 0.027 0.002
14 UNIT_AURA_target_1 0.027 0.002
0 UNIT_COMBAT 0.000 0.000
0 UNIT_COMBAT_player_1 0.000 0.000
216 UNIT_INVENTORY_CHANGED_player_1 1537.305 7.117
0 UNIT_POWER_UPDATE 0.000 0.000
0 UNIT_POWER_UPDATE_player_1 0.000 0.000
0 UNIT_SPELLCAST_CHANNEL_START_player_1 0.000 0.000
0 UNIT_SPELLCAST_CHANNEL_STOP_player_1 0.000 0.000
0 UNIT_SPELLCAST_DELAYED_player_1 0.000 0.000
0 UNIT_SPELLCAST_SENT_1 0.000 0.000
15 UNIT_SPELLCAST_SUCCEEDED_player_1 0.013 0.001
0 UPDATE_BINDINGS_1 0.000 0.000
0 UPDATE_SHAPESHIFT_FORM_1 0.000 0.000
0 VARIABLES_LOADED_1 0.000 0.000
91 forecastResources 2.330 0.026
31 state.reset 10.852 0.350
231 updatePowers 4.255 0.018
[14:31:36] empty result
[14:35:27] Dump: value=Hekili:DumpFrameInfo()
[14:35:27] Hekili 0.000
24787 GeneralEvents 345.772 0.014
0 HekiliDisplayAOE 0.000 0.000
0 HekiliDisplayCooldowns 0.000 0.000
0 HekiliDisplayDefensives 0.000 0.000
43216 HekiliDisplayInterrupts 1740.887 0.040
43216 HekiliDisplayPrimary 1740.887 0.040
0 Hekili_AOE_B1 0.000 0.000
0 Hekili_AOE_B10 0.000 0.000
0 Hekili_AOE_B2 0.000 0.000
0 Hekili_AOE_B3 0.000 0.000
0 Hekili_AOE_B4 0.000 0.000
0 Hekili_AOE_B5 0.000 0.000
0 Hekili_AOE_B6 0.000 0.000
0 Hekili_AOE_B7 0.000 0.000
0 Hekili_AOE_B8 0.000 0.000
0 Hekili_AOE_B9 0.000 0.000
0 Hekili_Cooldowns_B1 0.000 0.000
0 Hekili_Cooldowns_B10 0.000 0.000
0 Hekili_Cooldowns_B2 0.000 0.000
0 Hekili_Cooldowns_B3 0.000 0.000
0 Hekili_Cooldowns_B4 0.000 0.000
0 Hekili_Cooldowns_B5 0.000 0.000
0 Hekili_Cooldowns_B6 0.000 0.000
0 Hekili_Cooldowns_B7 0.000 0.000
0 Hekili_Cooldowns_B8 0.000 0.000
0 Hekili_Cooldowns_B9 0.000 0.000
0 Hekili_Defensives_B1 0.000 0.000
0 Hekili_Defensives_B10 0.000 0.000
0 Hekili_Defensives_B2 0.000 0.000
0 Hekili_Defensives_B3 0.000 0.000
0 Hekili_Defensives_B4 0.000 0.000
0 Hekili_Defensives_B5 0.000 0.000
0 Hekili_Defensives_B6 0.000 0.000
0 Hekili_Defensives_B7 0.000 0.000
0 Hekili_Defensives_B8 0.000 0.000
0 Hekili_Defensives_B9 0.000 0.000
0 Hekili_Interrupts_B1 0.000 0.000
0 Hekili_Interrupts_B10 0.000 0.000
0 Hekili_Interrupts_B2 0.000 0.000
0 Hekili_Interrupts_B3 0.000 0.000
0 Hekili_Interrupts_B4 0.000 0.000
0 Hekili_Interrupts_B5 0.000 0.000
0 Hekili_Interrupts_B6 0.000 0.000
0 Hekili_Interrupts_B7 0.000 0.000
0 Hekili_Interrupts_B8 0.000 0.000
0 Hekili_Interrupts_B9 0.000 0.000
0 Hekili_Primary_B1 0.000 0.000
0 Hekili_Primary_B10 0.000 0.000
0 Hekili_Primary_B2 0.000 0.000
0 Hekili_Primary_B3 0.000 0.000
0 Hekili_Primary_B4 0.000 0.000
0 Hekili_Primary_B5 0.000 0.000
0 Hekili_Primary_B6 0.000 0.000
0 Hekili_Primary_B7 0.000 0.000
0 Hekili_Primary_B8 0.000 0.000
0 Hekili_Primary_B9 0.000 0.000
0 KeyhandlerFrame 0.000 0.000
0 NamePlateWatcherFrame 0.000 0.000
302 OptionsEmbedFrame 0.317 0.001
934 RazorCoralFrame 4.618 0.005
0 SkeletonListener 0.000 0.000
251 UnitEvents:player 1538.479 6.129
251 UnitEvents:target 1538.479 6.129
[14:35:27] empty result
commented

Please try the alpha version and supply updated data dumps/screenshots for your performance.

One of the things I would need to do, but have not yet done, is make the Interrupts and Defensives displays work off the same reset. That'd reduce the cost of a reset.

The alpha version forces updates less frequently, unless there's a really good reason. I'd recommend unchecking your Throttle Updates setting because it'll actually accelerate updates in the alpha.

commented

OK, I deleted the addon and installed the alpha version from this Github page. I disabled the Throttle Updates settings as well. Here is the screenshot and the output of the commands during combat.

WoWScrnShot_092221_061949

[06:20:21] Dump: value=Hekili:DumpProfileInfo()
[06:20:21] 
15 ACTIONBAR_HIDEGRID_1 0.000 0.000
0 ACTIONBAR_PAGE_CHANGED_1 0.000 0.000
15 ACTIONBAR_SHOWGRID_1 0.000 0.000
281 ACTIONBAR_SLOT_CHANGED_1 0.316 0.001
0 BARBER_SHOP_CLOSE_1 0.000 0.000
0 BARBER_SHOP_OPEN_1 0.000 0.000
0 BuildUI 0.000 0.000
2053 CLEU_HANDLER 35.418 0.017
3149 COMBAT_LOG_EVENT_UNFILTERED_1 37.336 0.012
3149 COMBAT_LOG_EVENT_UNFILTERED_2 4.443 0.001
3149 COMBAT_LOG_EVENT_UNFILTERED_3 0.814 0.000
1017 CURRENT_SPELL_CAST_CHANGED_1 0.236 0.000
0 CVAR_UPDATE_1 0.000 0.000
0 DISPLAY_SIZE_CHANGED_1 0.000 0.000
9016 Display_OnEvent 82.222 0.009
102092 Display_OnUpdate 4819.053 0.047
0 ENCOUNTER_END_1 0.000 0.000
0 ENCOUNTER_START_1 0.000 0.000
1311 EXECUTE_CHAT_LINE_1 1.210 0.001
28 GET_ITEM_INFO_RECEIVED_1 0.004 0.000
1960 GetNextPrediction 2765.616 1.411
9638 GetPredictionFromAPL 2718.405 0.282
1041 HandleEvent 103.672 0.100
0 OverrideBinds 0.000 0.000
0 PLAYER_CONTROL_GAINED_1 0.000 0.000
0 PLAYER_CONTROL_LOST_1 0.000 0.000
1 PLAYER_ENTERING_WORLD_1 0.000 0.000
1 PLAYER_ENTERING_WORLD_2 0.000 0.000
1 PLAYER_ENTERING_WORLD_3 0.000 0.000
0 PLAYER_ENTERING_WORLD_4 0.000 0.000
0 PLAYER_EQUIPMENT_CHANGED_1 0.000 0.000
2 PLAYER_REGEN_DISABLED_1 0.004 0.002
1 PLAYER_REGEN_ENABLED_1 0.000 0.000
1 PLAYER_SPECIALIZATION_CHANGED_1 0.000 0.000
1 PLAYER_SPECIALIZATION_CHANGED_player_1 0.000 0.000
11 PLAYER_STARTED_MOVING_1 0.027 0.002
11 PLAYER_STOPPED_MOVING_1 0.021 0.002
4 PLAYER_TALENT_UPDATE_1 0.000 0.000
4 PLAYER_TALENT_UPDATE_2 0.000 0.000
4 PLAYER_TARGET_CHANGED_1 0.102 0.026
0 PLAYER_TOTEM_UPDATE_1 0.000 0.000
1144 ProcessHooks 3428.292 2.997
563 QueueEvent 1.293 0.002
1041 RemoveEvent 2.482 0.002
1 SOULBIND_ACTIVATED_1 0.000 0.000
0 SOULBIND_CONDUIT_CHARGES_UPDATED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_CLEARED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_REMOVED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_UPDATED_1 0.000 0.000
0 SOULBIND_CONDUIT_INSTALLED_1 0.000 0.000
0 SOULBIND_CONDUIT_UNINSTALLED_1 0.000 0.000
0 SOULBIND_FORGE_INTERACTION_ENDED_1 0.000 0.000
0 SOULBIND_FORGE_INTERACTION_STARTED_1 0.000 0.000
0 SOULBIND_NODE_LEARNED_1 0.000 0.000
0 SOULBIND_NODE_UNLEARNED_1 0.000 0.000
0 SOULBIND_NODE_UPDATED_1 0.000 0.000
0 SOULBIND_PATH_CHANGED_1 0.000 0.000
0 SOULBIND_PENDING_CONDUIT_CHANGED_1 0.000 0.000
258 SPELL_DATA_LOAD_RESULT_1 0.360 0.001
741 ScrapeUnitAuras 58.021 0.078
0 SpecializationChanged 0.000 0.000
0 StartEventHandler 0.000 0.000
0 TotalRefresh 0.000 0.000
325 UNIT_AURA_player_1 1.122 0.003
762 UNIT_AURA_target_1 1.122 0.001
5 UNIT_COMBAT 0.029 0.006
5 UNIT_COMBAT_player_1 0.029 0.006
1 UNIT_INVENTORY_CHANGED_player_1 13.966 13.966
594 UNIT_POWER_UPDATE 4.327 0.007
932 UNIT_POWER_UPDATE_player_1 4.327 0.005
19 UNIT_SPELLCAST_CHANNEL_START_player_1 0.088 0.005
19 UNIT_SPELLCAST_CHANNEL_STOP_player_1 0.497 0.026
0 UNIT_SPELLCAST_DELAYED_player_1 0.000 0.000
215 UNIT_SPELLCAST_SENT_1 1.395 0.006
357 UNIT_SPELLCAST_SUCCEEDED_player_1 0.706 0.002
0 UPDATE_BINDINGS_1 0.000 0.000
0 UPDATE_SHAPESHIFT_FORM_1 0.000 0.000
0 VARIABLES_LOADED_1 0.000 0.000
2966 forecastResources 105.296 0.036
1144 state.reset 440.152 0.385
1 updatePowers 0.022 0.022
[06:20:21] empty result
[06:20:46] Dump: value=Hekili:DumpFrameInfo()
[06:20:46] Hekili 8675.635
32153 GeneralEvents 94.614 0.003
0 HekiliDisplayAOE 0.000 0.000
121344 HekiliDisplayCooldowns 5330.328 0.044
121344 HekiliDisplayDefensives 5330.328 0.044
121344 HekiliDisplayInterrupts 5330.328 0.044
121344 HekiliDisplayPrimary 5330.328 0.044
0 Hekili_AOE_B1 0.000 0.000
0 Hekili_AOE_B10 0.000 0.000
0 Hekili_AOE_B2 0.000 0.000
0 Hekili_AOE_B3 0.000 0.000
0 Hekili_AOE_B4 0.000 0.000
0 Hekili_AOE_B5 0.000 0.000
0 Hekili_AOE_B6 0.000 0.000
0 Hekili_AOE_B7 0.000 0.000
0 Hekili_AOE_B8 0.000 0.000
0 Hekili_AOE_B9 0.000 0.000
0 Hekili_Cooldowns_B1 0.000 0.000
0 Hekili_Cooldowns_B10 0.000 0.000
0 Hekili_Cooldowns_B2 0.000 0.000
0 Hekili_Cooldowns_B3 0.000 0.000
0 Hekili_Cooldowns_B4 0.000 0.000
0 Hekili_Cooldowns_B5 0.000 0.000
0 Hekili_Cooldowns_B6 0.000 0.000
0 Hekili_Cooldowns_B7 0.000 0.000
0 Hekili_Cooldowns_B8 0.000 0.000
0 Hekili_Cooldowns_B9 0.000 0.000
0 Hekili_Defensives_B1 0.000 0.000
0 Hekili_Defensives_B10 0.000 0.000
0 Hekili_Defensives_B2 0.000 0.000
0 Hekili_Defensives_B3 0.000 0.000
0 Hekili_Defensives_B4 0.000 0.000
0 Hekili_Defensives_B5 0.000 0.000
0 Hekili_Defensives_B6 0.000 0.000
0 Hekili_Defensives_B7 0.000 0.000
0 Hekili_Defensives_B8 0.000 0.000
0 Hekili_Defensives_B9 0.000 0.000
0 Hekili_Interrupts_B1 0.000 0.000
0 Hekili_Interrupts_B10 0.000 0.000
0 Hekili_Interrupts_B2 0.000 0.000
0 Hekili_Interrupts_B3 0.000 0.000
0 Hekili_Interrupts_B4 0.000 0.000
0 Hekili_Interrupts_B5 0.000 0.000
0 Hekili_Interrupts_B6 0.000 0.000
0 Hekili_Interrupts_B7 0.000 0.000
0 Hekili_Interrupts_B8 0.000 0.000
0 Hekili_Interrupts_B9 0.000 0.000
0 Hekili_Primary_B1 0.000 0.000
0 Hekili_Primary_B10 0.000 0.000
0 Hekili_Primary_B2 0.000 0.000
0 Hekili_Primary_B3 0.000 0.000
0 Hekili_Primary_B4 0.000 0.000
0 Hekili_Primary_B5 0.000 0.000
0 Hekili_Primary_B6 0.000 0.000
0 Hekili_Primary_B7 0.000 0.000
0 Hekili_Primary_B8 0.000 0.000
0 Hekili_Primary_B9 0.000 0.000
0 KeyhandlerFrame 0.000 0.000
19 NamePlateWatcherFrame 0.031 0.002
0 OptionsEmbedFrame 0.000 0.000
2222 RazorCoralFrame 11.543 0.005
0 SkeletonListener 0.000 0.000
1733 UnitEvents:player 29.246 0.017
1733 UnitEvents:target 29.246 0.017
[06:20:46] empty result
commented

Thanks for continuing to supply information. It looks like the places where CPU is being spent are the "right" areas, but hopefully I can find some ways to optimize them further.

image

These numbers will mislead a little bit, because the top 5 are really part of the same flow:

Display_OnUpdate - triggers recommendation by firing ProcessHooks (and also handles visual updates).

  • ProcessHooks - this is the entry point for generating new recommendations. Fires state.reset to get a clean game state, then requests a prediction.
    • GetNextPrediction - this is a container for GetPredictionFromAPL, which interprets the precombat and default action lists, along with any action lists they invoke.

If you factor out the work done by ProcessHooks, everything else that Display_OnUpdate handles is relatively trivial.

Now, I'm not sure what else is happening around you that would trigger additional CPU usage based on being where you are at. I do see that there are COMBAT_LOG_EVENT_UNFILTERED events being processed, and that makes sense since you're in combat. If there's genuinely an issue with being in a high population area, it could be a high population area where combat is happening (i.e. dummies) and that CLEU is triggering extra updates that aren't really necessary.

Going from 120 FPS to 40 FPS is especially odd, though. You have a much better CPU than I do, and my FPS is nowhere near as impacted. At 120 FPS, your addons collectively have 8.3ms per frame (average) to do their work without really impacting frame rate. ProcessHooks is using less than 3ms/frame (and would have fired no more than 4-5x/frame/display). At 40 FPS, the addon has 25ms per frame to do its work.

More information that would help:

  1. Another Pastebin of your Player Information.
    • Do you have Interrupts, Defensives, and/or Cooldowns "Shown Separately"?
    • If so, do you notice a significant performance increase if you don't show them separately?
  2. After spending a few minutes in combat:
    • /dump HekiliDisplayPrimary.combatUpdates
    • /dump HekiliDisplayPrimary.combatTime
    • If you try with any displays shown separately, you can generate the same output for those separate displays by substituting HekiliDisplayInterrupts, HekiliDisplayDefensives, or HekiliDisplayCooldowns in place of HekiliDisplayPrimary above.
commented

Sorry for the delay. This is what I've captured. I tried to capture it during combat in a dense area (Korthia).

WoWScrnShot_092221_142135

[14:09:04] Dump: value=Hekili:DumpProfileInfo()
[14:09:04] 
0 ACTIONBAR_HIDEGRID_1 0.000 0.000
0 ACTIONBAR_PAGE_CHANGED_1 0.000 0.000
0 ACTIONBAR_SHOWGRID_1 0.000 0.000
147 ACTIONBAR_SLOT_CHANGED_1 0.082 0.001
0 BARBER_SHOP_CLOSE_1 0.000 0.000
0 BARBER_SHOP_OPEN_1 0.000 0.000
0 BuildUI 0.000 0.000
4748 CLEU_HANDLER 22.379 0.005
13206 COMBAT_LOG_EVENT_UNFILTERED_1 26.745 0.002
13206 COMBAT_LOG_EVENT_UNFILTERED_2 8.238 0.001
13206 COMBAT_LOG_EVENT_UNFILTERED_3 1.107 0.000
743 CURRENT_SPELL_CAST_CHANGED_1 0.643 0.001
0 CVAR_UPDATE_1 0.000 0.000
0 DISPLAY_SIZE_CHANGED_1 0.000 0.000
2744 Display_OnEvent 38.120 0.014
29564 Display_OnUpdate 1470.774 0.050
0 ENCOUNTER_END_1 0.000 0.000
0 ENCOUNTER_START_1 0.000 0.000
709 EXECUTE_CHAT_LINE_1 0.236 0.000
244 GET_ITEM_INFO_RECEIVED_1 0.004 0.000
597 GetNextPrediction 750.117 1.256
2658 GetPredictionFromAPL 735.475 0.277
359 HandleEvent 37.928 0.106
0 OverrideBinds 0.000 0.000
1 PLAYER_CONTROL_GAINED_1 0.000 0.000
1 PLAYER_CONTROL_LOST_1 0.000 0.000
3 PLAYER_ENTERING_WORLD_1 0.000 0.000
3 PLAYER_ENTERING_WORLD_2 0.000 0.000
3 PLAYER_ENTERING_WORLD_3 0.000 0.000
0 PLAYER_ENTERING_WORLD_4 0.000 0.000
0 PLAYER_EQUIPMENT_CHANGED_1 0.000 0.000
9 PLAYER_REGEN_DISABLED_1 0.022 0.002
9 PLAYER_REGEN_ENABLED_1 0.005 0.001
0 PLAYER_SPECIALIZATION_CHANGED_1 0.000 0.000
0 PLAYER_SPECIALIZATION_CHANGED_player_1 0.000 0.000
54 PLAYER_STARTED_MOVING_1 0.033 0.001
54 PLAYER_STOPPED_MOVING_1 0.032 0.001
4 PLAYER_TALENT_UPDATE_1 0.000 0.000
4 PLAYER_TALENT_UPDATE_2 0.000 0.000
44 PLAYER_TARGET_CHANGED_1 0.176 0.004
0 PLAYER_TOTEM_UPDATE_1 0.000 0.000
333 ProcessHooks 1012.522 3.041
263 QueueEvent 0.645 0.002
359 RemoveEvent 0.919 0.003
0 SOULBIND_ACTIVATED_1 0.000 0.000
0 SOULBIND_CONDUIT_CHARGES_UPDATED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_CLEARED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_REMOVED_1 0.000 0.000
0 SOULBIND_CONDUIT_COLLECTION_UPDATED_1 0.000 0.000
0 SOULBIND_CONDUIT_INSTALLED_1 0.000 0.000
0 SOULBIND_CONDUIT_UNINSTALLED_1 0.000 0.000
0 SOULBIND_FORGE_INTERACTION_ENDED_1 0.000 0.000
0 SOULBIND_FORGE_INTERACTION_STARTED_1 0.000 0.000
0 SOULBIND_NODE_LEARNED_1 0.000 0.000
0 SOULBIND_NODE_UNLEARNED_1 0.000 0.000
0 SOULBIND_NODE_UPDATED_1 0.000 0.000
0 SOULBIND_PATH_CHANGED_1 0.000 0.000
0 SOULBIND_PENDING_CONDUIT_CHANGED_1 0.000 0.000
324 SPELL_DATA_LOAD_RESULT_1 0.000 0.000
229 ScrapeUnitAuras 22.642 0.099
0 SpecializationChanged 0.000 0.000
0 StartEventHandler 0.000 0.000
0 TotalRefresh 0.000 0.000
470 UNIT_AURA_player_1 0.724 0.002
828 UNIT_AURA_target_1 0.724 0.001
1 UNIT_COMBAT 0.004 0.004
106 UNIT_COMBAT_player_1 0.004 0.000
260 UNIT_INVENTORY_CHANGED_player_1 0.000 0.000
116 UNIT_POWER_UPDATE 1.130 0.010
429 UNIT_POWER_UPDATE_player_1 1.130 0.003
14 UNIT_SPELLCAST_CHANNEL_START_player_1 0.042 0.003
14 UNIT_SPELLCAST_CHANNEL_STOP_player_1 0.219 0.016
4 UNIT_SPELLCAST_DELAYED_player_1 0.000 0.000
132 UNIT_SPELLCAST_SENT_1 0.299 0.002
154 UNIT_SPELLCAST_SUCCEEDED_player_1 0.121 0.001
0 UPDATE_BINDINGS_1 0.000 0.000
0 UPDATE_SHAPESHIFT_FORM_1 0.000 0.000
0 VARIABLES_LOADED_1 0.000 0.000
960 forecastResources 38.101 0.040
333 state.reset 179.286 0.538
0 updatePowers 0.000 0.000
[14:09:04] empty result

[14:09:09] Dump: value=Hekili:DumpFrameInfo()
[14:09:09] Hekili 2514.941
13044 GeneralEvents 73.129 0.006
0 HekiliDisplayAOE 0.000 0.000
33944 HekiliDisplayCooldowns 1581.281 0.047
33944 HekiliDisplayDefensives 1581.281 0.047
33944 HekiliDisplayInterrupts 1581.281 0.047
33944 HekiliDisplayPrimary 1581.281 0.047
0 Hekili_AOE_B1 0.000 0.000
0 Hekili_AOE_B10 0.000 0.000
0 Hekili_AOE_B2 0.000 0.000
0 Hekili_AOE_B3 0.000 0.000
0 Hekili_AOE_B4 0.000 0.000
0 Hekili_AOE_B5 0.000 0.000
0 Hekili_AOE_B6 0.000 0.000
0 Hekili_AOE_B7 0.000 0.000
0 Hekili_AOE_B8 0.000 0.000
0 Hekili_AOE_B9 0.000 0.000
0 Hekili_Cooldowns_B1 0.000 0.000
0 Hekili_Cooldowns_B10 0.000 0.000
0 Hekili_Cooldowns_B2 0.000 0.000
0 Hekili_Cooldowns_B3 0.000 0.000
0 Hekili_Cooldowns_B4 0.000 0.000
0 Hekili_Cooldowns_B5 0.000 0.000
0 Hekili_Cooldowns_B6 0.000 0.000
0 Hekili_Cooldowns_B7 0.000 0.000
0 Hekili_Cooldowns_B8 0.000 0.000
0 Hekili_Cooldowns_B9 0.000 0.000
0 Hekili_Defensives_B1 0.000 0.000
0 Hekili_Defensives_B10 0.000 0.000
0 Hekili_Defensives_B2 0.000 0.000
0 Hekili_Defensives_B3 0.000 0.000
0 Hekili_Defensives_B4 0.000 0.000
0 Hekili_Defensives_B5 0.000 0.000
0 Hekili_Defensives_B6 0.000 0.000
0 Hekili_Defensives_B7 0.000 0.000
0 Hekili_Defensives_B8 0.000 0.000
0 Hekili_Defensives_B9 0.000 0.000
0 Hekili_Interrupts_B1 0.000 0.000
0 Hekili_Interrupts_B10 0.000 0.000
0 Hekili_Interrupts_B2 0.000 0.000
0 Hekili_Interrupts_B3 0.000 0.000
0 Hekili_Interrupts_B4 0.000 0.000
0 Hekili_Interrupts_B5 0.000 0.000
0 Hekili_Interrupts_B6 0.000 0.000
0 Hekili_Interrupts_B7 0.000 0.000
0 Hekili_Interrupts_B8 0.000 0.000
0 Hekili_Interrupts_B9 0.000 0.000
0 Hekili_Primary_B1 0.000 0.000
0 Hekili_Primary_B10 0.000 0.000
0 Hekili_Primary_B2 0.000 0.000
0 Hekili_Primary_B3 0.000 0.000
0 Hekili_Primary_B4 0.000 0.000
0 Hekili_Primary_B5 0.000 0.000
0 Hekili_Primary_B6 0.000 0.000
0 Hekili_Primary_B7 0.000 0.000
0 Hekili_Primary_B8 0.000 0.000
0 Hekili_Primary_B9 0.000 0.000
0 KeyhandlerFrame 0.000 0.000
16 NamePlateWatcherFrame 0.030 0.002
0 OptionsEmbedFrame 0.000 0.000
4784 RazorCoralFrame 18.977 0.004
0 SkeletonListener 0.000 0.000
536 UnitEvents:player 5.083 0.009
536 UnitEvents:target 5.083 0.009
[14:09:09] empty result

[14:09:14] Dump: value=HekiliDisplayPrimary.combatUpdates
[14:09:14] [1]={
[14:09:14]   longest=239.858,
[14:09:14]   last=14755.202,
[14:09:14]   shortEvents="CURRENT_SPELL_CAST_CHANGED|SPELL_CAST_SUCCESS|UNIT_POWER_UPDATE|SPELL_AURA_REFRESH",
[14:09:14]   longEvents="SPELL_CAST_SUCCESS|UNIT_POWER_UPDATE|SPELL_AURA_APPLIED|PLAYER_REGEN_DISABLED",
[14:09:14]   samples=350,
[14:09:14]   average=2.7219914285714,
[14:09:14]   shortest=0.022999999999229
[14:09:14] }
[14:09:18] Dump: value=HekiliDisplayPrimary.combatTime
[14:09:18] [1]={
[14:09:18]   average=0.0039848965811371,
[14:09:18]   samples=351,
[14:09:18]   fastest=0.0025296000000089,
[14:09:18]   slowest=0.0070193000007421
[14:09:18] }
commented

Gonna close this out, I can't reproduce it on my end and recent changes would require fresh info.

commented