This Thread belong to this
I am asking where do I need to insert the workaround from this
I have a WPF application which has performance issue on some client
I have been working on an application that has been fine on virtually everything but the WPF Controls were slow on certain laptops (Lenovo). It was lagging and freezing and generally inhibiting use.
I did the following:
It may be that only Number 3 was required, but it worked. Just posting here so people dont lose the days I lost in memory profilers etc.
In my case it worked by adding that code to the main window. However, I simplified it a bit:
public partial class MyMainWindow : Window
{
public MyMainWindow() {
GotFocus += WindowGotFocus;
}
private void WindowGotFocus(object sender, RoutedEventArgs e)
{
WindowInteropHelper helper = new WindowInteropHelper(this);
var mainWindowAutomationElement = AutomationElement.FromHandle(helper.Handle);
Automation.AddStructureChangedEventHandler(mainWindowAutomationElement, TreeScope.Element,
delegate {});
GotFocus -= WindowGotFocus;
}
}
The only problem with this approach, in my machine, is that the debugger window gets cluttered with messages like:
All happening many many times. I couldn't fix these messages, but my application is running faster now.