gpt4 book ai didi

c# - WPF 动画 FPS 与 CPU 使用率 - 我是否期望太多?

转载 作者:行者123 更新时间:2023-12-02 01:22:00 25 4
gpt4 key购买 nike

正在为我的妻子制作屏幕保护程序,http://cchearts.codeplex.com/ ,虽然我已经能够提高低端机器上的 FPS,但 CPU 使用率似乎仍然很高。

以下是我从 5 分钟采样周期中得出的一些数字:

~60FPS,Core 2 Duo T7500 @ 2.2GHz、3GB 内存、NVIDIA Quadro NVS 140M (128MB)、Vista [我的开发笔记本电脑] 上的平均 CPU 为 35%

~40FPS 50% 平均 CPU,Pentium D @ 3.4GHz,1.5GB 内存,标准 VGA 图形适配器(未知),2003 服务器 [蹩脚的桌面]

我可以理解在蹩脚的台式机上较低的帧速率和较高的 CPU 使用率,但它看起来仍然相当高,而且在我的开发笔记本电脑上 35% 似乎也很高。

我真的很想分析该应用程序以获取更多详细信息,但我也遇到了问题,所以我想知道我是否做错了什么(之前从未分析过 WPF)。

WPF 性能套件:

进程启动错误

无法附加到进程:CCHearts.exe你想杀掉它吗?

当我尝试启动后单击“取消”时,会出现此错误消息。如果我不单击“取消”,它就会闲置在那里,我想正在等待附加。

性能浏览器:

无法启动 C:\Projects2\CC.Hearts\CC.Hearts\bin\Debug (USEVISUAL)\CCHearts.exe。之前对应用程序进行分析的尝试未成功完成。请重新启动应用程序。

性能输出窗口:

分析已开始。分析进程 ID 5360 (CCHearts)。进程 ID 5360 已退出。数据写入 C:\Projects2\CC.Hearts\CCHearts100608.vsp。分析完成。PRF0025:未收集数据。分析完成。

所以我一直想提高性能,但没有具体的方法来确定瓶颈在哪里。在这一点上我已经相对成功地 throw 飞镖了,但我现在已经超越了:)


摘要:

到目前为止已经取得了很多进展...

性能浏览器

问题:无法正常工作,错误消息含糊不清。

解决方案:使用 command line version得到一条真正的错误消息,将我指向这个 thread指出这是赛门铁克 dll 阻止了我。设置以下注册表项修复了问题:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SysPlant]

“开始”=dword:00000004

WPF 性能套件

问题:无法正常工作,没有错误消息。

解决方案:使用 Windows SDK 7.1 中专为 .NET 4 设计的 WPF 性能套件而不是 Windows SDK 7 的先前版本(我觉得很傻:-P)

WPF 动画

问题:与 FPS/感知工作负载相比,CPU 使用率较高。

解决方案:到处都有很多不错的调整。但巨大的改进是 Cached Composition正如耶利米·莫里尔所指出的。查看changesets .

最佳答案

我下载了您的代码,发现我的四核 2.6ghz 上的 CPU 使用率约为 20-28%。通过添加缓存合成,我能够将 CPU 降低到约 6-8%。

我使用“DEBUG”而不是“DEBUG(USEVISUAL)”进行编译,并在 Heart.xaml 中将 BitmapCache 添加到路径中:

路径CacheMode="BitmapCache"...

关于c# - WPF 动画 FPS 与 CPU 使用率 - 我是否期望太多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2999374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com