I’ve written about profiling before in the general case. But when it comes to multithreading, there are a few more factors to consider such as lock contention and cache invalidation that affect performance. And this is where mutrace (mutex profiler) comes into the picture. The profiler has a very low overhead compared (no perceived delay for me) to other solutions and gives quite nice results. I tested it on My Media System (C++) and Nemo (C#) and got interesting results for both. I knew more or less what the results for mms would be, but the results for Nemo was a bit suprising. The lock contention was significantly higher than for mms, even though I didn’t really use a multithreaded design for Nemo. So I guess it comes from the mono platform itself. Sadly it seems that mono programs aren’t compiled with -rdynamic, so the results that one gets are quite hard to decipher.
Acmelabs made a great blog post about how to install the latest nvidia drivers (180.29) and set them up to avoid annoying tearing. I installed it on my system and it A/V sync has also been much better so far. Upgrading heavily recommended 🙂
Updated: Fixed a bunch of issues by using latest patch for mplayer from here.
I installed a nvidia 9400 fanless graphics card today. I’ve been hearing good things about the rate of their driver development so I thought I’d try it out. My experiences after having tried the latest 180.18 drivers is:
- A good deal of 1080p mkv’s still crashed after a second or so of playback. Even with the hack posted here.
- cpu usage is very low (max 20% and the cpu is at 1GHz)
I changed it to my default movie player in MMS to use vdpau by default with the following script to detect extension as vfm is not working yet. Linux kernel was 2.6.27-r2 in case anyone is interested.
Yesterday MMS 1.1.0 rc9 was released. This has been a long time coming and hopefully will be the last release candidate before MMS hits 1.1.0 final. Changes are all over the map, not that many big new shiny things, but a lot of bugfixes and rewritings of the internals of MMS.