Monday, October 08, 2007

Microsoft Silverlight forces the web browser process to run at 'Above Normal' priority

I felt like puking after what I just noticed- I had downloaded and installed Microsoft's Silverlight runtime on my computer a day back. Today I was browsing the web on 2 browsers together- Opera and Mozilla Firefox. When I opened www.microsoft.com in Firefox the website threw up a Silverlight based animation [whereas it used JPEG or Flash/SWF while I had not installed Silverlight]. The animation slowed down my computer [Intel Celeron M 1.5 GHz based laptop] significantly and perplexed me.

On analyzing what was wrong, I noticed that firefox.exe process was running at 'Above Normal' priority, and manually trying to lower it to 'Normal' simply failed- firefox.exe would automatically [and immediately] switch back to 'Above Normal' priority [but that's only if Silverlight is active- as soon as the tab having www.microsoft.com was closed, Firefox could again be switched to 'Normal' priority- so I conclude that it was Silverlight which forced Firefox to run at 'Above Normal' priority].

However, to me there is something else that is far more important- a Flash animation running in parallel in Opera browser slowed down immediately [and significantly] when Silverlight got activated in Firefox, whereas the Silverlight animation running in Firefox appeared to run faster [relative to the Flash animation].

To me, nothing else is more important than what I wrote in bold above. With this [yet another] wicked tactic, Microsoft gives a user not 1 but 2 false impressions:-

1) Silverlight is made to look better than it is- by forcing the process to run at 'Above Normal' priority, Microsoft is essentially fooling users by the apparent performance of Silverlight

2) Flash based animations running in other browsers are made to look slower than they actually are- user gets an impression of poor performance of Flash, compared to a parallel running Silverlight animation

Also, this is going to impact performance of other browsers as well [which a user runs in parallel]. And because this has not been documented anywhere, nor is the user informed about this, users will unknowingly develop false impressions of speed and performance of other runtimes and other browsers. This is nothing short of pathetic!

Personally I feel that Microsoft deserves to be sued for such a lame and desperate act- this act is an admittance on Microsoft's part that it lacks the engineering talent required to produce a high performance runtime that can equal, let alone better, Adobe's Flash.

My 2 cents for Microsoft:-

"Real men triumph without cheating."

(Microsoft does possess the talent to decipher what I meant...)

3 comments:

  1. You wanna sue Microsoft? Too late. Windows media player has been using MMCSS since Vista ship.

    http://msdn.microsoft.com/en-us/library/ms684247.aspx

    My 3 cents 4 ya:

    "Real men investigate before calling other cheating".

    ReplyDelete
  2. and Mark's blog show you how a real men do performance investigation:
    http://blogs.technet.com/markrussinovich/archive/2008/09/24/3126858.aspx

    ReplyDelete
  3. And ... nearly two years later, the same behavior is happening.

    Except for me, Silverlight is occasionally consuming 100% CPU, and completely locking up my computer for about 10 minutes before I am able to shut down the process.

    The only way I've found to stop it from happening is to set the CPU affinity to only one of my cores.

    I fucking hate Silverlight, but I have to use it for Netflix.

    ReplyDelete