• Silverlight的性能


    监视性能(FPS)
    Silverlight的呈现性能会因指定的宿主参数和内容的复杂程度而异。
    为了监视FPS的值我们在开发的过程中将EnableFrameRateCounter 属性设置为 true。这样浏览器的状态栏中显示所呈现的 Silverlight 内容的每秒帧数 (fps),以便您可以微调应用程序。
    以下有两种设置EnableFrameRateCounter的方法:
    1.在Object标签的属性里设置
     

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


    2.在cs代码中设置

    System.Windows.Interop.SilverlightHost host = Application.Current.Host;
    System.Windows.Interop.Settings settings
    = host.Settings;
    settings.EnableFrameRateCounter
    = true;
    settings.MaxFrameRate
    = 60;


    显示效果:


    性能优化注意的地方:


    1.谨慎使用透明背景
    Silverlight 插件使用透明背景会对性能产生很大影响,因此应尽可能避免使用此功能。例:

     

    2.尽量使用各种加速与缓存
    对进行动画处理的元素设置其CacheMode属性为true
    对进行动画处理文本文本元素设置TextRenderingMode属性为RenderForAnimation
    对使用不透明度对象和旋转或拉伸对象设置其CacheMode属性为true
    3.尽可能使用 Visibility 而不是 Opacity
    如果想设置某个元素不可见,尽量使用Visibility,由于Silverlight的渲染技术Opacity会持续消耗系统资源。通过设置enableRedrawRegions属性你可以更加直观的看出他们的不同,例:

    <param name=“enableRedrawRegions” value=“true” />


    4.不要对MediaElement与Path元素设置Width与Height
    设置这些属性将导致额外的拉伸,这会影响性能。
    5.呈现大量图像时使用 Stretch="Fill"
    Fill,None 之外的所有其他类型的拉伸都需要计算布局(例如计算居中)。
    6.大量数据处理的时候尽量运用BackgroundWorker
    在大量数据处理时,会导致插件会停止绘制。

    <param name="background" value="Transparent" />
    <param name="Windowless" value="true" />
  • 相关阅读:
    使用xfire
    db2 存储过程编写定义
    mac下使用eclipse的svn报错问题

    nsis打包过程
    mac快捷键以及增加桌面
    struts2 无法访问static目录下的内容的解决办法
    linux下安装db2
    ORACLE01034错误解决
    cannot restore segment prot after reloc: Permission denied
  • 原文地址:https://www.cnblogs.com/baobao2010/p/1783032.html
Copyright © 2020-2023  润新知