I need to measure the performance of WPF multi-threaded application, what happens is following:
1. buttonClick is triggered in UI -> the UI thread starts processing it
2. UI thread starts another threads in background, which asyncronously do something in background and, when ready, pass the result back to the ui thread
3. Data binding occurs
4. Rendering occurs
The amount of threads is known to me, the order is not.
How could I measure the time between the buttonClick and the end of the rendering? Is the UI thread firing an event or raise a property when it has finished? Or if not, can I make it?
Any help would be apprechiated.
You have to look on WPF Performance Suite, especially on Perforator and Visual Profiler.
On VisualProfiler you can have “Application CPU usage details” section one of which is:
or
Hope this helps.