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",但被自动缓存

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

图:启用缓存的视频

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

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

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加速的更多相关文章

  1. Theano在windows下的安装及GPU加速

    安装环境:wondows 64bit Teano安装测试 1. Anaconda 安装 Anaconda是一个科学计算环境,自带的包管理器conda很强大.之所以选择它是因为它内置了python,以及 ...

  2. GPU 加速NLP任务(Theano+CUDA)

    之前学习了CNN的相关知识,提到Yoon Kim(2014)的论文,利用CNN进行文本分类,虽然该CNN网络结构简单效果可观,但论文没有给出具体训练时间,这便值得进一步探讨. Yoon Kim代码:h ...

  3. 开启gpu加速的高性能移动端相框组件!

    通过设置新的css3新属性translateX来代替传统的绝对定位改变left值的动画原理,新属性translateX会开启浏览器自带的gpu硬件加速动画性能,提高流畅度从而提高用户体验, 代码有很详 ...

  4. ubuntu 15 安装cuda,开启GPU加速

    1 首先要开启GPU加速就要安装cuda.安装cuda,首先要安装英伟达的驱动.ubuntu有自带的开源驱动,首先要禁用nouveau.这儿要注意,虚拟机不能安装ubuntu驱动.VMWare下显卡只 ...

  5. 用cudamat做矩阵运算的GPU加速

    1. cudamat简介 cudamat是一个python语言下,利用NVIDIA的cuda sdk 进行矩阵运算加速的库.对于不熟悉cuda编程的程序员来说,这是一个非常方便的GPU加速方案.很多工 ...

  6. 深度学习“引擎”之争:GPU加速还是专属神经网络芯片?

    深度学习“引擎”之争:GPU加速还是专属神经网络芯片? 深度学习(Deep Learning)在这两年风靡全球,大数据和高性能计算平台的推动作用功不可没,可谓深度学习的“燃料”和“引擎”,GPU则是引 ...

  7. GPU加速有坑?

    大多数人都知道有动画的地方可以使用GPU来加速页面渲染. 例如,做优化的时候,将使用left和top属性的动画修改成使用transform属性的CSS动画.或者听到别人教你使用transform:tr ...

  8. Keras学习环境配置-GPU加速版(Ubuntu 16.04 + CUDA8.0 + cuDNN6.0 + Tensorflow)

    本文是个人对Keras深度学习框架配置的总结,不周之处请指出,谢谢! 1. 首先,我们需要安装Ubuntu操作系统(Windows下也行),这里使用Ubuntu16.04版本: 2. 安装好Ubunt ...

  9. supervessel-免费云镜像︱GPU加速的Caffe深度学习开发环境

    开发环境介绍 在SuperVessel云上,我们为大家免费提供当前火热的caffe深度学习开发环境.SuperVessel的Caffe有如下优点: 1) 免去了繁琐的Caffe环境的安装配置,即申请即 ...

随机推荐

  1. mybatis的增删改查

    一.配置文件方式 mapper.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE ...

  2. springmvc 对REST风格的支持

    1.PathVariable注解 用于映射url的占位符到目标方法的参数中 例子: @RequestMapping("/testPathVariable/{id}") public ...

  3. uWSGI其三:uWSGI搭配Nginx使用

    http://www.nowamagic.net/academy/detail/1330334 上一篇介绍了 uWSGI 来部署 Django 程序,但在在生产环境中单单只有 uWSGI 是不够的,N ...

  4. Linux命令 find和mv的结合使用:查找文件,移动到某个目录

    显示前十个文件 [root@localhost smgpbi]# ls -1 | sort -u | head -10 1.首先查看文件个数,进入所在的文件 # find . -name " ...

  5. 页面设计--CheckBoxList

    CheckBoxList 下拉多选控件 控件属性如下图: 取值设置:多选只能从数据库表中来获取:支持过滤条件设置(支持权限条件值.控件值条件.系统变量值等做为过滤条件) web效果显示:

  6. 关于前置式递增和后置式递增的小知识(++x与x++)

    list<char>::iterator pos; //list<char> coll; for(pos=coll.begin();pos!=coll.end();++pos) ...

  7. Android——进度条ProgressBar

    1.activity_progressbar.xml <?xml version="1.0" encoding="utf-8"?><Linea ...

  8. OC基础(14)

    Xcode设置 内存管理原则 *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 ...

  9. jdk线程的死锁

    两个线程相互等着对方释放同步监听器:等着要对方的结果后才能继续执行就会发生死锁. 男对女说:你先嫁给我,我再给你买房子:女对男说:你先给我买房子,我再嫁给你. 多个线程同时锁住同一个监听对象. 在开发 ...

  10. JS浮点数运算BUG破法

    JS里,0.3*3 = 0.8999999999999999 破法1:((0.3*10)*3)/10 破法2:(0.3*3).toFixed(2)//保留两位小数 原因:js浮点数用的是IEEE754 ...