Silverlight性能优化

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 插件使用透明背景会对性能产生很大影响,因此应尽可能避免使用此功能。例:




<param name="background" value="Transparent" />
<param name="Windowless" value="true" />






 





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
在大量数据处理时,会导致插件会停止绘制。

参考资料:

 



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/

 

 

 

作者:Nasa 
文章出处:我和未来有约会 (http://nasa.cnblogs.com/
版权声明:本文的版权归作者与博客园共有。转载时须注明本文的详细链接,否则作者将保留追究其法律责任。
时间: 2024-09-20 22:33:49

Silverlight性能优化的相关文章

Silverlight性能优化纪要

Silverlight作为微软为富网络应用所做的一个全新的架构,其优秀的表现力让开发者和用户感受到了强烈的冲击,无数的开发者为其着迷,同时微软的广大设计者也在不断地为其完善和充实,同时Silverlight团队也积极的构建Silverlight 5,其初步的版本已在 http://channel9.msdn.com/Series/Silverlight-Firestarter做了演示,从中你可以感受到Silverlight未来之路.我在学习了里面的性能优化的Event后,对这部分的介绍做了一个摘

一起谈.NET技术,Silverlight性能优化纪要

Silverlight作为微软为富网络应用所做的一个全新的架构,其优秀的表现力让开发者和用户感受到了强烈的冲击,无数的开发者为其着迷,同时微软的广大设计者也在不断地为其完善和充实,同时Silverlight团队也积极的构建Silverlight 5,其初步的版本已在 http://channel9.msdn.com/Series/Silverlight-Firestarter做了演示,从中你可以感受到Silverlight未来之路.我在学习了里面的性能优化的Event后,对这部分的介绍做了一个摘

C#性能优化实践

性能主要指两个方面:内存消耗和执行速度.性能优化简而言之,就是在不影响系统运行正确性的前提下 ,使之运行地更快,完成特定功能所需的时间更短. 本文以.NET平台下的控件产品MultiRow为例,描 述C#性能优化的实践. 性能优化原则 理解需求 MultiRow的一个性能需求是:"百万行 数据绑定下平滑滚动."整个MultiRow项目的开发过程一直在考虑这个目标. · 理解瓶颈 99%的性能消耗是由于1%的代码造成的.大部分性能优化都是针对这1%的瓶颈代码进行的.具体实施也 就分为两步

.Net+SQL Server企业应用性能优化笔记1——调研

在进行了一段时间的调研后,本周开始着手进行性能优化工作.现在在优化工作工作之前,我总结一下调研了的一些信息. 1.背景 客户这是一个03年的时候开发的系统了,所以使用的是.NET 1.1+SQL Server 2000,操作系统用的是Windows2003,使用了这么几年,只是对操作系统进行了升级(从当时的Windows2000升级到2003的)以及对系统进行维护,.Net环境和数据库并没有改变.由于系统中记录了几年的数据,有些表有几百万行的数据,当初没有建立索引和系统程序上考虑的不足造成目前系

.Net+SQL Server企业应用性能优化笔记3——SQL查询语句

在上一篇文章中我们使用了几种方法来确定瓶颈,找到瓶颈,下面再回顾一下: LoadRunner压力测试+Windows计数器,这种方法主要是找出大概的性能问题是在哪台服务器,主要是哪个资源紧张. ANTS Profiler+SQL Server Profiler,这两个工具的完美搭配可以准确的定位性能是出在哪个函数,哪个SQL语句上. 如果性能问题是出在程序上,那么就要根据业务对程序中的函数进行调整,可能是函数中的写法有问题,算法有问题,这种调整如果不能解决问题的话,那么就要从架构上进行考虑,我们

Silverlig“.NET研究”ht性能优化纪要

Silverlight作为微软为富网络应用所做的一个全新的架构,其优秀的表现力让开发者和用户感受到了强烈的冲击,无数的开发者为其着迷,同时微软的广大设计者也在不断地为其完善和充实,同时Silverlight团队也积极的构建Silverlight 5,其初步的版本已在 http://channel9.msdn.com/Series/Silverlight-Firestarter做了演示,从中你可以感受到Silverlight未来之路.我在学习了里面的性能优化的Event后,对这部分的介绍做了一个摘

丰趣海淘:跨境电商平台的前端性能优化实践

原文出自[听云技术博客]:http://blog.tingyun.com/web/article/detail/586 随着互联网的发展,尤其是在2000年之后浏览器技术渐渐成熟,Web产品也越来越丰富,这时我们被浏览器窗口内的丰富"内容"所吸引,关注HTML/CSS,深入研究Dom.Bom和浏览器的渲染机制等,接触JavaScript库,"前端"这个职业,由此而生. 前端技术在这10多年中飞速发展,到了今天,我们可能发现"内容"的美在视觉上是有

如何确保无线局域网性能优化应

虽然很多无线局域网经理关注于解决问题和避免安全漏洞,但是无线局域网性能优化更注重于任务清单.这个方法不单单考虑不周全,而且忽视优化还是造成灾难的另一个因素.如果每个AP只需要支持十来个用户上网流量,一般的性能可能还是可以接受的,但是当AP接近最大容量而应用程序需求变得更高时,带宽消耗和瓶颈就会变得很严重. 为了实现无线局域网性能优化,网络经理和管理员必须使用新的无线局域网测量和测试工具,它们能够根据网络中运行的应用程序类型来检查网络性能.寻找这些工具会迫使网络管理员寻找目前的供应商以及测试方法之

性能优化总结(六):预加载、聚合SQL应用实例

   前面已经把原理都讲了一遍,这篇主要是给出一个应用的实例.该实例取自GIX4,比较复杂. 领域模型:     领域模型间的关系,如下: 右边模型链的具体关系在<第二篇>中已经描述过,不再赘述. 本次重点在于红线框住部分: Project:表示一个建设项目: ProjectPBS:一个项目下包含的很多PBS: PBSPropertyValue:一个PBS我们可以为它设置多个值,每一个值对应一个PBSType(模板)中已定义的属性,值的范围也是只能在属性中已定义的可选值中进行选择. 对应的UI