码迷,mamicode.com
首页 > Web开发 > 详细

Silverlight - GPU加速

时间:2014-08-04 14:01:27      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   io   art   

1. 在Silverlight plug-in上设置 <param name="enableGPUAcceleration" value="true" /> 或使用代码 Application.Current.Host.Settings. EnableGPUAcceleration= True;

 

2.在类型为UIElement的控件上设置 CacheMode = "BitmapCache" - 所谓GPU加速是基于GPU缓存了一些UI元素,节省了CPU的耗用

 

如何知道哪些控件被缓存?在Silverlight plug-in上设置 < param  name = "enableCacheVisualization"  value = "true"  /> 后程序界面中会有颜色变化:

1. 红色表示没有被缓存

2. 正常颜色表示被缓存

3. 绿色表示没有设置 CacheMode = "BitmapCache",但被自动缓存

bubuko.com,布布扣

 

由于GPU加速的原理是缓存,那么频繁变动的UIElement就不适宜使用,因为缓存的频繁更新反而会带来性能损耗。但是MideaElement例如视频使用GPU加速可以实现性能提高

 

bubuko.com,布布扣

图:启用缓存的视频

但是perspetive 3d效果的视频 则不可以:

 图:右侧视频使用了Pespective 3d效果,显示为红色,没有缓存

 

bubuko.com,布布扣

 

GPU加速的限制:

1. GPU 加速仅支持如下动画: Scale,  Rotate, Changing Opacity, Clipping (only if  clip is rectangular),其他则不支持,例如 Perspective 3d效果的动画。

 

2. GPU显存不足,Silverlight会默认使用CPU来实现缓存,这反而会增加CPU的负担 - 目前Silverlight还不支持查询GPU缓存大小的方法,仅提供了Analytics.GpuCollection 属性。

 

3. 需要支持DirectX(Windows) 或OpenGL(Mac)的显卡,且Mac上仅支持全屏模式

转自:http://blog.csdn.net/jameszhou/article/category/543888

 

Silverlight - GPU加速,布布扣,bubuko.com

Silverlight - GPU加速

标签:style   blog   http   color   使用   os   io   art   

原文地址:http://www.cnblogs.com/zxbzl/p/3889724.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!