none
Silverlight3.0 霸占了 CPU RRS feed

  • 问题

  • 奇怪的现象
    一:             <param name="splashscreensource" value="SplashScreen.xaml" />
                <param name="onSourceDownloadProgressChanged" value="onSourceDownloadProgressChanged" />

    和 childwindow 同时存在时,CPU会一直在50%以上。 关闭childwindow,CPU立刻为0

    二、叠加多个childwindow   和 textbox 、passwordbox ,输入字符,CPU很快 到 90%.  
    三、没有使用childwindow,自己写了一个window类,无非 是将 内容 插入到 Grid里,必要时设置一下zIndex而已,这样的window在前两项中CPU占用更可怕。
    四、任何有文本输入的页面,不做任何操作,都会吃掉10%-20%的CPU

    实在想不明白 Silverlight 在干什么 ? 
    VNN是款不错的软件,它将更好!http://www.vnn.cn/
    2010年1月28日 9:42

答案

  • 有机器配置问题。
    上面是个demo而已,如果effect嵌套层数越多,CPU占用越大。    <param name="windowless" value="false"></param> 是必须的 ,因为要输入中文。 <param name="MaxFrameRate" value="50"></param> 治标不治本。

    目前只能慎用effect, 避免出现 effect的嵌套。


    VNN是款不错的软件,它将更好!
    http://www.vnner.com    
    http://www.vnn.cn 
    2010年2月2日 2:26

全部回复

  • 经过进一步测试,发现 更 主窗体 和 子窗体复用了   <ResourceDictionary Source="Style.xaml" />  有关系 ,具体为什么,不清楚
    VNN是款不错的软件,它将更好!http://www.vnn.cn/
    2010年1月29日 3:25
  • 再进一步测试 和 <Setter Property="Effect" > <Setter.Value> <DropShadowEffect Opacity="0.3" ShadowDepth="2" /> </Setter.Value> </Setter> 这个关系密切
    VNN是款不错的软件,它将更好!http://www.vnn.cn/
    2010年1月29日 4:17
  • 你好, 
     
          我新建了一个Childwindow然后引用了这个style但是cpu使用率很正常啊.
       
          你用的是asp:silvelright 控件? 
       
          如果可以的话,希望提供详细的信息,我好重建一个类似的程序
    2010年1月29日 6:02
  •  做了一个简单的  测试工程 你可以直接用    
    VNN是款不错的软件,它将更好!http://www.vnn.cn/
    2010年1月29日 10:14
  • 你好, 
       
          我试了一下,在我的机器上没有像在你的机器上那么霸道直接90%(机器配置问题吧)。 
         
          你要提高性能的话,可以牺牲一些质量,比如set windowless to false.以及调整一下frame的频率。
          类似这样: 
        
              <param name="MaxFrameRate" value="50"></param>
              <param name="windowless" value="false"></param>
    2010年2月1日 6:35
  • 有机器配置问题。
    上面是个demo而已,如果effect嵌套层数越多,CPU占用越大。    <param name="windowless" value="false"></param> 是必须的 ,因为要输入中文。 <param name="MaxFrameRate" value="50"></param> 治标不治本。

    目前只能慎用effect, 避免出现 effect的嵌套。


    VNN是款不错的软件,它将更好!
    http://www.vnner.com    
    http://www.vnn.cn 
    2010年2月2日 2:26
  • 升级一下Silverlight3的版本试试。

    Silverlight 3发布新版3.0.50106.0

    2010年2月2日 19:00
  • 你好,
     
          silverlight 3中的effect并不会被cache,每次animate都会每一个pixel每一个pixel的去计算,所以会比较消耗资源。 但是animate结束以后会回到正常的cpu占用状态。 
     
          换句话说就是gpu的工作由cpu代劳了,所以会造成暂时的高占用。 这点在这个document里有提过要注意http://msdn.microsoft.com/en-au/library/dd901594(VS.95).aspx
     
          具体的原因在这个讲座里说明了 http://videos.visitmix.com/MIX09/T17F(她也说了team正在尝试优化这一点)。 
      
          这个讲座也提到了一些可以用GPUAcceleration的地方,如果在做ui开发的话,可以看看。
    2010年2月3日 1:35