How to profile WPF 4.5 UI performance?

后端 未结 2 735
囚心锁ツ
囚心锁ツ 2020-12-03 04:57

I\'m developing a .NET 4.5 WPF app and having UI rendering performance issues.

After some googling, I came across WPF Performance Suite page which describes exactly

相关标签:
2条回答
  • 2020-12-03 05:36

    Eventually, I've found a tool that I was looking for and that was really helpful for me.

    To get an idea of where exactly is the bottleneck in rendering your WPF layout, you want to:

    1. Install the Visual Studio 2015, if you don't have one yet :)
    2. Go to Debug -> Start Diagnostic Tools Without Debugging
      (NOTE: This seems to be changed to Debug -> Profiler -> Performance Profiler...).
    3. Check Application Timeline tool and hit Start in this view:

    1. When your app starts, do the actions causing issues you're interested in.
    2. Then hit Stop recording and you'll eventually get your elements tree with times spent for rendering every node. Then, you only need to sort it by Duration (total) and expand slowest nodes until you find the problem:

    In conclusion, it would much easier to correlate the nodes from tree above with your layout if you set names for your controls using the Name attribute like the following:

    <TextBlock Name="OwnerContact">
    
    0 讨论(0)
  • 2020-12-03 05:36

    As it turns out, later versions of Visual Studio have this built in, so right now with Visual Studio 2013, I can create a new profiler session by opening up Visual Studio, and from the top menu there is an Analyze drop down, just go to Analyze -> Profiler -> Attach/Detach to attach it to an existing process running in Debug mode (I seem to have to do this inside of another Visual Studio window or else its grayed out). But, side note: its really bad and not very intuitive...I would recommend using some nicer, commercial profilers instead because they are much simpler.

    0 讨论(0)
提交回复
热议问题