zoukankan      html  css  js  c++  java
  • 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" />
  • 相关阅读:
    .NET实现Excel文件的读写 未测试
    权限管理设计
    struts1中配置应用
    POJ 2139 Six Degrees of Cowvin Bacon(floyd)
    POJ 1751 Highways
    POJ 1698 Alice's Chance
    POJ 1018 Communication System
    POJ 1050 To the Max
    POJ 1002 4873279
    POJ 3084 Panic Room
  • 原文地址:https://www.cnblogs.com/baobao2010/p/1783032.html
Copyright © 2011-2022 走看看