积极答复者
silverlight在系统中占用相当的CPU,如何解决?

问题
-
再打开系统任务管理器,你会发现,对silverlight随便操作下,CPU占用率会跑到很高
非单核的电脑肯定不影响,但是老一点的赛扬2.4和2.8就几乎死机,和内存一点关系都没有,我还升到1G的内存,浪费时间了。
IE的版本6-8都试过
补丁全部更新到最新
silverlight版本为4.0.50524.0
有同样问题的高手们看看。总不能为了这个把赛扬2.4和2.8的电脑扔掉吧
2010年6月24日 2:20
答案
-
激动人心的时刻到了 呵呵。我的问题通过硬件加速基本解决了.
这个挺详细 http://www.cnblogs.com/alamiye010/archive/2010/06/24/1764500.html
对文字的动画缓存的以后会比较模糊..尽量避免。
文档上的说明: 只有 Windows Vista、Windows 7 和 Windows XP 才支持硬件加速。在 Windows XP 上,NVidia、ATI、Intel 卡(具有发布日期在 2004 年 11 月的驱动程序)是硬件加速所必需的。
我在2003上也测了 效果也不错..
...- 已标记为答案 KeFang Chen 2010年6月30日 5:49
2010年6月28日 6:34
全部回复
-
我最开始学习Silverlight2.0的时候,机子是台老机子,C2.4,512M内存,开发的时候慢些,但做出来的东西跑的并不慢。那时候刚学,东西不太复杂,但也不是很简单的东西,600×400的切割地图,有人物走动。
到后来,就没有用过那么老的机子里,哥们说的情况还真没发现,不过值得重视。
游戏开发,痛苦并快乐着...
不是吧,现在我的电脑是双核处理器 Genuine Intel(R) CPU 2140 @ 1.60GHz,1606 Mhz,2 个内核,2 个逻辑处理器
打开www.silverlight.net时,就需要60%左右的CPU,换做电脑是单核P4 3.0的U一样会有100%的占用率!FLASH可不会这样
2010年6月24日 6:28 -
这个我顶......
和你一样 我也遇到这样的问题了...而且有时候cpu是突然一下上去就下不来了(80%以上)..大部分的时候正常(30%以下).我的电脑是酷睿双核 2.0GHz
照着帮助文档中的"性能提示"处理过后,估计也有我理解不对的地方加上很多地方避免不了,我的问题依然没彻底解决.
我总结我这遇到的情况 希望对你有帮助
1.如果开了机子上开着金山词霸..silverlight运行的时候cpu很顶 浏览器直接就自己关了..这个在很多用户机器上出现过.关了金山词霸就没事了
2. 我觉得主要原因是界面元素太多了。我这界面上元素比较多..在不执行任何动画的情况浏览器占用的cpu很少.基本禁止.但此时只要循环执行简单的动画 cpu就会上去不少..我这界面上有文字滚动 区域 和一个图片轮播的区域.单独执行的时候几乎都不消耗多少cpu 但放到一起就消耗的挺厉害..20%左右.
我做了个实验,在空白的窗体里添加100个矩形 最后添加一个ProgressBar ( ProgressBar p = new ProgressBar(); p.IsIndeterminate = true; )就这滚动条就可以把cpu 能到20%左右 cup消耗和 矩形的个数成正比...这个我觉得也能说明一些问题。
3.还有个情况是使用childwindow的时候....就在上一条所说的情况下 弹出个childwindow cpu一下子就上去了 到60%以上.
还有silverlight 帮助里性能提示的第一条就是
1 在多个平台和浏览器上进行测试
如果您要为多个操作系统(例如,Macintosh 和 Windows)和浏览器(例如,Internet Explorer、Mozilla Firefox 和 Apple Safari)开发基于 Silverlight 的应用程序,请记住要使用目标平台和浏览器组合定期测试应用程序。平台或浏览器行为之间的差别以及 Silverlight 用来处理这些行为的代码,都会影响应用程序的性能。尤其是在创建具有透明嵌入插件背景的应用程序,或创建使用大量程序代码(例如,C# 或 Visual Basic)的应用程序时,应进行全面测试.
我这就是没有从一开始做好性能测试..最后东西太多了 回头再处理想彻底解决好性能问题好像挺费劲的..
...2010年6月24日 8:32 -
没有多个平台,只是不同硬件,感觉silverlight对硬件要求太高了。不如FLASH,开发程序出来,好多电脑用不了
这个情况IPAD或IPHONE可能支持SILVERLIGHT么?
微软得想办法呀
现在的智能机才多大的U呀
Y450的U不怎么样的,你看看你只用一个IE,只打开www.silverlight.net,然后鼠标在silverlight上动下,看CPU占用率会跑到多少
2010年6月25日 2:17 -
哈哈,哥们,我做SL开发的时候,首先是要开发一个CPU监视器放在页面上,然后把帧频检测打开,监视器数字 基本在20%以下,帧频要保证27以上;前期开发基本上在3%以下,如果超过30%了,就需要查看程序代码,看看是不是那个地方出问题了。
完成一定阶段,就进行一些压力测试,模拟以后的最糟糕的情况,基本上要保持Cpu不超过50%的占用,帧频不低于24。
搞SL有几年了,SL对硬件的要求算是很低的了,不知道哥们怎么这么纠结SL的CPU占用率
游戏开发,痛苦并快乐着...
所以不敢说自己公司的SL程序,只好说官网的SL程序,官网的SL程序都这样,公司的SL程序更不敢想代码有多优化了。www.silverlight.net的SL,点点上面的导航按钮,70%以上的双核占用。烦
2010年6月25日 6:20 -
激动人心的时刻到了 呵呵。我的问题通过硬件加速基本解决了.
这个挺详细 http://www.cnblogs.com/alamiye010/archive/2010/06/24/1764500.html
对文字的动画缓存的以后会比较模糊..尽量避免。
文档上的说明: 只有 Windows Vista、Windows 7 和 Windows XP 才支持硬件加速。在 Windows XP 上,NVidia、ATI、Intel 卡(具有发布日期在 2004 年 11 月的驱动程序)是硬件加速所必需的。
我在2003上也测了 效果也不错..
...- 已标记为答案 KeFang Chen 2010年6月30日 5:49
2010年6月28日 6:34