I'm experiencing an issue described in this thread.
dotTrace told me "Stylus Input" was guilty.
I tried the code posted by Ron Z and Chaim Zonnenberg, but didn't work.
Rash suggested 2 workarounds:
Automation code will be triggered only if there are any automation clients ( like screen reader, tabtip in tablet pcs, etc) running in the machine. So one way to get out of this situation is to close any of those automation client apps.
If one is not feasible then an alternative is, UIElementHelper.InvalidateAutomationAncestors will take longer time only if automation tree for the app is sparse ( happens if had disabled building automation tree using custom window automation peer) and visual tree is dense. So another solution is disable any custom automation code and allow WPF to build complete automation tree. This should speed up UIElementHelper.InvalidateAutomationAncestors as well.
But how to close tabtip? I tried to stop and disable the following services but didn't work, tabtip.exe was still running in the background:
- Tablet PC Input Service
- TabletServicePen
Rash said this issue should be solved in .NET 4.0 SP1. Anyone knows the release date of .NET 4.0 SP1?
I'm using Visual Studio 2010, Windows 7 64bit, Wacom Graphire 4.
Thanks
Update:
To close tabtip.exe I just need to restart Windows after disabling the aforementioned services. But this alone didn't solve my issue. In order to workaround the performance issue, I have to also disable "Wacom Consumer Touch Service".
And according to this thread (March 22, 2011):
there is no published timeline for .NET Framework 4.0 sp1
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…