前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Silverlight性能优化

Silverlight性能优化

作者头像
用户1172164
发布2018-01-16 11:32:39
9760
发布2018-01-16 11:32:39
举报

Silverlight性能优化 性能优化

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

代码语言:javascript
复制
<param name="EnableFrameRateCounter" value="true" />

2.在cs代码中设置

代码语言:javascript
复制
System.Windows.Interop.SilverlightHost host = Application.Current.Host;
System.Windows.Interop.Settings settings = host.Settings;
settings.EnableFrameRateCounter = true;
settings.MaxFrameRate = 60;

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

代码语言:javascript
复制
    <param name="background" value="Transparent" />
    <param name="Windowless" value="true" />

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

代码语言:javascript
复制
<param name=“enableRedrawRegions” value=“true” />

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

http://msdn.microsoft.com/zh-cn/library/cc189071(VS.95).aspx http://www.cnblogs.com/alamiye010/archive/2009/08/29/1556398.html http://www.silverlightbuzz.com/2009/11/17/optimizing-silverlight-with-enable-redraw-regions/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010-01-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档