What’s new for Performance in Silverlight 4 GDR1

Hopefully folks saw the announcement about Silverlight 4 Service Release GDR1 availability. See Tim’s link here and KB2164913. The service release is being distributed by Microsoft Update as an Important update on Vista/Win7 and Critical update on Windows XP/ Windows 2003 Server. Mac and other Windows users who did opt-in for Microsoft Update will be prompted to install Silverlight 4 GDR1 soon after 9/1/2010.


In addition to other fixes (See above posts), this release fixes some key performance issues which I wanted to highlight:

  1. Fixed various memory leaks including:
    1. Leak when mouse capture is used (ScrollViewer, Button, Slider etc.)
      e.g. when you use CaptureMouse() for drag and drop scenarios.
      (See some discussions here)
    2. Leak where UserControl cannot be garbage-collected when it contains inline data template.
      (See some discussions here)
    3. Other memory leaks in some other corner scenarios.
  2. Application cold startup improvement:
    1. Avoid loading of both IL and NGEN’d images.
    2. Allow the Silverlight pre-fetcher (agcp.exe) to run during the Silverlight detection script so that once an application redirects, the Silverlight pages are read from disk. (*The actual startup improvement depends on the application download size and network speed)
  3. Fixed animation jitter caused by the Silverlight pre-fetcher (agcp.exe) shutting down 10 seconds after a Silverlight application is launched. This was typically seen on a single core machine.

Enjoy. Jossef.