zoukankan      html  css  js  c++  java
  • Silverlight

    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

  • 相关阅读:
    NYOJ 10 skiing DFS+DP
    51nod 1270 数组的最大代价
    HDU 4635 Strongly connected
    HDU 4612 Warm up
    POJ 3177 Redundant Paths
    HDU 1629 迷宫城堡
    uva 796
    uva 315
    POJ 3180 The Cow Prom
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/zxbzl/p/3889724.html
Copyright © 2011-2022 走看看