Silverlight 5 : 新しいスレッド アーキテクチャ

Jeff Prosise のブログによると、Silverlight 5 で GPU を使ったアクセラレーション(DrawingSurfaceを含む)がサポートされましたが、それに伴い新しい内部的なスレッド アーキテクチャ、合成スレッド(composition thread)が採用されたとのことです。これは Windows Phone の Silverlight ではすでに採用されているそうです。

簡単に言うと、UI スレッドの停止がアニメーションを停止させないよう、アニメーションを GPU にキャッシュしてしまうことです。これを有効にするには以下の2つが必要です

  1. そのページ(html)の enableGpuAcceleration を true にする
  2. アニメーションが動作する Canvas などの BitmapCache を true にする