We need to do some profiling on our project, and I decided to evaluate JetBrains dotTrace Profiler 3.1. First of all, I have tried to profile the sample application included with the tool, and got really surprised when I saw the times reported – they were “randomly distributed” in the plus-minus billions of milliseconds range :). I couldn’t believe it! Looked for a solution on Google, but first few pages of the search results proved to be totally useless.
Fortunetely, I got “enlightment” at this point – I recalled that I had problems with WPF animations on my dual core AMD Athlon64 x2 processors because of system timers – they were not in sync between cores, and GetPerformanceCounter API was returning “floating” numbers instead of non-decreasing sequence, thus causing “jumpy” animations. The solution then was to install AMD Dual-Core Optimizer (its description talks about gaming, RDTSC, etc., so it is not necessarily obvious that the thing can help with WPF :).
I went and downloaded and installed the tool again, and voilaz – nice times in the profiler! :) Now, the problem is, that I am absolutely sure that I have already installed this tool few months ago when I hit the WPF problem. So, how could it be that the tool was not working, and I had to install it again? Honestly, I don’t know… Most likely, some new drivers or system updates have disabled or otherwise damaged the tool. Which brings me to the (rhetoric?) question: how can “normal” people use today’s computers (and technologies in general) with all this complexity?