none
silverlight在系统中占用相当的CPU,如何解决? RRS feed

  • 问题

  • 打开www.silverlight.net

    再打开系统任务管理器,你会发现,对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上也测了 效果也不错..


    ...
    2010年6月28日 6:34

全部回复

  • 顶一下,难道大家没发现这个问题么?

    CPU 100% silverlight 死机

    2010年6月24日 3:13
  • 我最开始学习Silverlight2.0的时候,机子是台老机子,C2.4,512M内存,开发的时候慢些,但做出来的东西跑的并不慢。那时候刚学,东西不太复杂,但也不是很简单的东西,600×400的切割地图,有人物走动。

    到后来,就没有用过那么老的机子里,哥们说的情况还真没发现,不过值得重视。


    游戏开发,痛苦并快乐着...
    2010年6月24日 5:20
  • 我最开始学习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
  • 哈哈,我在本本 Ideapad Y450上连跑带做开发,一点问题都没有呀。
    游戏开发,痛苦并快乐着...
    2010年6月24日 9:20
  • 没有多个平台,只是不同硬件,感觉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占用率


    游戏开发,痛苦并快乐着...
    2010年6月25日 5:43
  • 哈哈,哥们,我做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
  • 官网并不代表什么。如果你愿意,自己做SL程序的时候可以做到CPU占用很低,SL3.0以上的版本绝对是提供了这样的性能的,这点我相信。


    游戏开发,痛苦并快乐着...
    2010年6月25日 12:06
  • 激动人心的时刻到了  呵呵。我的问题通过硬件加速基本解决了.

    这个挺详细 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上也测了 效果也不错..


    ...
    2010年6月28日 6:34