积极答复者
遇到的问题 而且找到了规律...谁给解释一下来...

问题
-
有个问题困扰我好多天...之前也问过一个问题...(http://social.microsoft.com/Forums/zh-CN/silverlightzhchs/thread/94085469-078e-443c-87b0-4d5174cd5670)
今天我发现时怎么回事了...
项目中我用了好几个ChildWindow .例如其中一个ChildWindow 就是加载数据时显示等待信息的...
例如我的主页是 MainPage.xaml ,某一个操作需要加载数据时 会Show一个等待的ChildWindow 这时候 ChildWindow 上有个小小的动画 都会把Cup顶到很高...
最终发现原因是我在MainPage里有好多元素用了DropSjamdpwEffect 和 BlurEffect
把主界面里的所用的DropSjamdpwEffect 和 BlurEffect 都去掉就没问题了...
为什么呢?
...
答案
-
对于位图效果影响性能这一点,微软自己曾经做出过解释(在WPF中解释过),大意如下。
------------------------------
位图效果将会导致性能的下降,主要是CPU占用。且使用越多,CPU占用越严重。主要原因如下。
1. 使用软件渲染(也就是CPU渲染),而非GPU渲染。
2. 使用UI线程渲染,而非渲染线程。由于使用UI线程渲染,因此执行动画的控件及其整个UI树都需要渲染。这就意味着一个动画控件本身即使没有使用位图效果,但只要它的容器使用了,就需要渲染。只有在完全独立的控件中使用位图效果,才不会受到其它控件动画的影响。
------------------------------
你所说的背景用了一些,正好是微软所提到的“动画控件的容器使用了位图效果”这一点。- 已标记为答案 Allen Chen - MSFTModerator 2009年9月9日 9:34
-
就是比如你一个很大的图片用 BlurEffect ,再让他运动起来就耗费cpu了
如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”- 已标记为答案 Allen Chen - MSFTModerator 2009年9月9日 9:34
全部回复
-
就是比如你一个很大的图片用 BlurEffect ,再让他运动起来就耗费cpu了
如果您觉得对您有帮助,请在“是否有帮助”点“是”;如果你觉得回复很满意,请“标记为已解答”- 已标记为答案 Allen Chen - MSFTModerator 2009年9月9日 9:34
-
对于位图效果影响性能这一点,微软自己曾经做出过解释(在WPF中解释过),大意如下。
------------------------------
位图效果将会导致性能的下降,主要是CPU占用。且使用越多,CPU占用越严重。主要原因如下。
1. 使用软件渲染(也就是CPU渲染),而非GPU渲染。
2. 使用UI线程渲染,而非渲染线程。由于使用UI线程渲染,因此执行动画的控件及其整个UI树都需要渲染。这就意味着一个动画控件本身即使没有使用位图效果,但只要它的容器使用了,就需要渲染。只有在完全独立的控件中使用位图效果,才不会受到其它控件动画的影响。
------------------------------
你所说的背景用了一些,正好是微软所提到的“动画控件的容器使用了位图效果”这一点。- 已标记为答案 Allen Chen - MSFTModerator 2009年9月9日 9:34