Hello.
I've run into some performance issues. When moving a floating ToolWindow, the UI of the rest of my application seems to freeze. To pinpoint the issue, I used JetBrains dotTrace.
The main "offenders" seems to be ActiproSoftware.Windows.Themes.WindowChromeShadow.Reposition(), called from OnPrimaryWindowLocationChanged
and
ActiproSoftware.Windows.Themes.WindowChromeManager.WindowProc(IntPtr, Int32, IntPtr, IntPtr, ref Boolean)
Here is some more info from the profiling:
6,40% OnPrimaryWindowLocationChanged • 7 077 ms • ActiproSoftware.Windows.Themes.WindowChromeShadow.OnPrimaryWindowLocationChanged(Object, EventArgs)
6,40% Reposition • 7 076 ms • ActiproSoftware.Windows.Themes.WindowChromeShadow.Reposition()
► 3,09% set_Top • 3 411 ms • System.Windows.Window.set_Top(Double)
► 2,87% set_Left • 3 174 ms • System.Windows.Window.set_Left(Double)
0,00% set_Left • 0,5 ms • System.Windows.Window.set_Left(Double)
0,00% get_VisibilityCache • 0,4 ms • System.Windows.UIElement.get_VisibilityCache()
and
2,16% WindowProc • 2 388 ms • ActiproSoftware.Windows.Themes.WindowChromeManager.WindowProc(IntPtr, Int32, IntPtr, IntPtr, ref Boolean)
► 2,11% #mAb • 2 331 ms • #Ci.#Bi.#mAb(#Dwg, Window, IntPtr, IntPtr)
Do you have any suggestions how I can prevent the UI from freezing while moving a window? Is there maybe a way to disable the drop shadow (if that is what's causing this issue)?
Thanks,
Farris