对于开发人员来说,运用一款工具开进行开发程序的时候,肯定会想尽一切办法来使这款工具的运用效能达到一个更高的境地。那么对于Silverlight的使用也是一样。我们先来看看Silverlight性能优化的具体方法。#t#
10多年的都兰网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整都兰建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“都兰网站设计”,“都兰网站推广”以来,每个客户项目都认真落实执行。
Silverlight性能优化1)尽量使用轻量级的控件
这在WPF中表现得极为明显,让我记忆最为深刻的就是FormattedText、TextBlock和Label这3个控件,从左至右性能消耗越多,往往习惯了随便拖控的朋友刚接触WPF时一看到熟悉的Label就拖它一个出来,FormattedText就不说了,TextBlock拥有与Label几乎一样的功能,因此希望看过本文的朋友注意了,WPF开发中尽量选择轻量级的控件。而由于Silverlight是WPF的子集,所以它的控件几乎都是经过浓缩与优化的,因此只需特别注意布局控件的选择;Canvas是性能较好且易于使用的布局控件,本文强力推荐。
Silverlight性能优化2)在对象动画过程中不要碰触它的Opacity属性
举个最简单的例子,如果一个物体在做水平动画移动,此过程中你为它添加了一个鼠标悬停事件,事件内容为修改它的Opacity属性为半透明,然而当你运行程序后却会发现当你把鼠标停在正在移动的该物体上时,会导致该物体运动的短暂不平滑(类似跳帧),这就是因为直接修改元素的 Opacity 属性会迫使系统创建一个临时的 Surface,这个过程是需要消耗一定性能的,切记。
Silverlight性能优化3)使用CompositionTarget.Rendering 事件启动逐帧动画(循环)
实现动画的方式有多种,如果您需要实现高密度的基于画面刷新的动画,那么建议使用CompositionTarget.Rendering 事件。并且注意了下面才是关键,在Silverlight中您需要非常默契的限制好参数MaxFrameRate,它可以根据客户电脑配置及时时的性能消耗调节画面的刷新率,相当于您的动画机器保姆。我个人的建议,将MaxFrameRate设置在45-60这个段内,这样最接近您液晶显示器的刷新率(有人说将之设置为1000会使动画极其流畅;没错,您的目的是达到了,但是将导致您的CPU疯狂的运做,我想这不是您想要的结果吧),在繁忙时即不会过度消耗性能,又能让您得到清晰且流畅的视觉享受。
Silverlight性能优化4)尽量使用各种加速与缓存
在WPF中大家可以通过降低图片的质量以换取性能的提升;在Silverlight中可以启动EnableGPUAcceleration然后通过设置各Uelement对象的CacheMode="BitmapCache"来实现GPU加速支持(此方法目前存在于3.0版本中,并且倍受争议)。
WPF/Silverlight应用程序为了让用户得到较好的交互体验,均会使用大量的图形、媒体与动画,目前的个人电脑配置1G+内存都算低端了,因此大家不妨多考虑利用空间换时间,将这些资源尽量的缓存,每次调用时首先检索是否存在于缓存中,然后才考虑重新加载。这给频繁的资源素材切换提供了快速且可靠的通道,消耗的仅仅是闲置无用的一点点内存而已。
Silverlight性能优化5)适当的时候使用关联属性将给您带来意外的惊喜
绑定关联属性(DependencyObject)是***效率的事情,无论是WPF还是Silverlight;定义好带回调方法的关联属性,仅当关联属性被修改后才通知界面更新,这才是关联属性最有性能的使用方式。但是,如果您乱用或过度使用关联属性,将导致整体性能的大幅度降低,其实一些普通的对象属性是完全可以用CLR属性代替的,这即为从细节中抽离出性能原理。
Silverlight性能优化6)将后台工作者(BackgroundWorker)看做您的左膀右臂
BackgroundWorker是从Winform年代即存在的一个伟大控件,使用它配合界面的Dispatcher进行跨线程的后台异步委托是兼具性能与友好体验的处理方式。大家不妨在头疼大量数据处理的时候,将BackgroundWorker视为您的左膀右臂,您会发现过程原来是可以这么简单的。
目前暂时先写这6点建议吧,如果有不对或不妥处,还望大家指正。同时大家应该详细阅读本文开头呈现的两个msdn地址中关于WPF/Silverlight性能提升的提示,只要您都做到了,我相信任何产品都能通过您的手发挥出***的性能。
文章名称:Silverlight性能优化具体方法介绍
网页路径:http://www.shufengxianlan.com/qtweb/news1/20151.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联