So, with the advent of the new addon profiling tools in 2.1, it's become pretty obvious that KTM is spending a TON of time processing all its onupdate handlers per frame. This is due to KTM's design, which uses a brute force polling system, rather than an event-driven system, so there's a lot of additional overhead incurred when there's no work to be done.
So, on a whim, I banged out this mod this afternoon. What it does, basically, is disable KTM any time there's nothing interesting going on, reclaiming valuable CPU-per-frame time.
It's basically about as fire-and-forget as they come. Install it and it does the rest. No config or anything to worry about.
On my machine, KTM consumes between 6% and 8% of my UI time per frame while CPU profiling is enabled. With the mod enabled, that drops to under 0.01%. This doesn't do anything to improve performance in combat, but you won't be wasting cycles sitting around Shattrath anymore, either.
Try it out, let me know what you think. Feedback is welcomed!
Would be awesome to have an easy "on/off" button for fubar/minimap. Some fivemans I don't care, but sometimes I need it on (as is the life of a dps hybrid/offhealer).. mcpfu+reloadui is annoying and can take a while.
Azide: It should automatically switch on any time you get into combat with or target a hostile NPC. The idea is that it auto-switches on and off as necessary. The intent is that you shouldn't ever have to think about when it needs to be on or off - the mod does that bit for you.
Nice, saw the commit and was hoping it was going to do what you described. I read a couple weeks ago that the KTM author was aware of the usage and that it would become a visible issue with the CPU profiling in 2.1.
Azide: It should automatically switch on any time you get into combat with or target a hostile NPC. The idea is that it auto-switches on and off as necessary.
Very nice initiative, does it still switch on even if you're solo grinding though?
The rules for "on" are:
a) You're in a party, raid, or have a pet, and
b) You or someone in your group has a hostile targeted, or you or someone in your group has been in combat in the last 15 seconds.
If you are solo without a pet, it never kicks on. If you're in a group, but nobody has a hostile targeted and nobody is in combat, it doesn't kick on. I added the targeting requirement mostly as a over-cautious guard against KTM missing the first few events of combat.