Dot Trace shows no activity on UI thread after startup, but Visual Studio's Profiler shows 99% of the UI thread is being used.
Dot Trace shows no activity on UI thread after startup, but Visual Studio's Profiler shows 99% of the UI thread is being consumed.
It “should be” that the app is at near 0% because it is just idling, but I suspected it wasn't and Visual studio profiler shows it at 99%. And if I click in the lower area of the VS tool I can see the individual xaml things like “render” and <border> as to what is being drawn.
Does dot trace measure these sorts of things? How can one profiler say it is 99% busy and the other say it is 0.1% busy?
They call their's “Thread 0” and dot trace calls it thread one, but otherwise I assumed they should be the same because they both are the thread that starts the WPF app.
Please sign in to leave a comment.
Hi,
We can assume that Visual Studio collects certain WPF provider events which are disabled in our profiler due to their impact on app performance.
Could you please run your application without any profiler and check CPU consumption when no profilers are affecting this process?
In task manager it shows about ten percent CPU for the program when running and when idling it goes to 1.5%.
There is no doubt the UI thread is under water when it is running.
It looks like Visual Studio collects WPF provider events, which leads to 99% loading.
What type of profiling do you use in dotTrace?
Could you please collect profiling data when CPU usage is around 10% and check:
- If the Timeline profiling type is used: select the main thread and check the CPU %.
- If the Sampling profiling type is used: what percentage of time does the main thread take up relative to all threads?