Herkese merhabalar.Bugün size Silverlight 3 Beta ile ilgili aslında bir ipucu sayılabilecek bir konudan bahsetmek istiyorum.Silverlight 3 Beta 1 ile GPU(Graphics Processing Unit) hızlandırıcısı geldi.Peki bunu nasıl kullanabiliriz acaba?GPU bizim görüntü kartımızın üzerinde bulunan bir işlemcidir,CPU zamanından kazanç sağlamak ve yükünü hafifletmek amacıyla grafiksel hesaplama işlemleri GPU’da yapılır.Bu kadar donanımsal bilgilendirmeden sonra işin yazılımsal kısmına geçelim:)

Varsayılan olarak bu özellik deaktif olarak gelmektedir.Hızlandırıcıyı aktifleştirmek için hem silverlight host control’de hem de hangi kontrolde kullanmak istiyorsak onun özelliklerinden aktifleştirmemiz gerekiyor.

HTML için Silverlight Control’e şu parametreleri eklememiz yeterlidir.

<param name="EnableGPUAcceleration" value="true" />

ASP.NET sayfalarındaki Silverlight Control için ise:

<asp:Silverlight ID="Silverlight1" EnableGPUAcceleration="true" runat="server" Source="~/ClientBin/MyApp.xap" MinimumVersion="3.0.40307.0" Width="100%" Height="100%" />

Şimdi kontrolümüzde CacheMode özelliğini kullanarak hızlandırıcıyı aktifleştirelim.

<Image CacheMode="BitmapCache" Source="MyImage.png"></Image>

Şu anda seçenek olarak BitmapCache sunulmaktadır.Element ler bir kez cache’e alındıktan sonra uygulama cache’deki element’leri render işlemi uygulamadan gösterir.

Eğer neyin cache’e alındığını test etmek istiyorsanız aşağıdaki niteliği kodlarınıza eklemeniz yeterlidir.

<asp:Silverlight EnableCacheVisualization="true" ID="Silverlight1" EnableGPUAcceleration="true" runat="server" Source="~/ClientBin/MyAPp.xap" MinimumVersion="3.0.40307.0" Width="100%" Height="100%" />

Son olarak belirteceğim bir husus da hızlandırıcıların sadece aşağıdaki durumlarda meydana geldiğidir.

  1. Transformations (translating, rotating, stretching, vs.).
  2. Clipping.
  3. Blending.

About the Author