我正在创建一个使用Fluent库的WPF应用程序。
在我使用Windows 7、2GB RAM和AMD三核处理器的计算机上,双击程序图标后,Splash图像在大约1-2秒后显示。
但是在我哥哥的老电脑上,有Windows,512 my内存和Intel Celeron 2.0 GHz处理器(单核),在双击程序图标后,首先,一个名为PresentationFontCache.exe的进程运行,它使用几乎100%的CPU数秒。显示初始飞溅图像所需的总时间几乎是30秒(或更多)。
我不想让一些用户不得不等待30秒来显示splash图像,大约7到8秒才能加载应用程序。(我的应用程序加载过程需要7-8秒)
另外,我认为1-2秒对来说太高了,只能显示初始的SplashImage,它应该立即显示。
如何解决这个问题?
发布于 2011-12-16 14:14:21
但是在我哥哥用Windows的旧电脑上,512 my内存和IntelCeleron2.0 GHz处理器
是啊,你猜网络发烧友也要花很长时间。这不是电脑,是垃圾。至少1gb的回忆录会有帮助。WPF应用程序不是超低的度假村应用,它们是为现代操作系统而设计的。
我不想让一些用户需要等30秒才能显示飞溅图像
使用.NET标准的闪存机制(在运行时完全初始化之前就加载)。
http://www.abhisheksur.com/2010/05/creating-splash-screen-without-code.html
然后加载WPF代码。
发布于 2011-12-16 14:16:24
听起来,您可以对应用程序进行性能分析,以查看瓶颈所在,并发现导致瓶颈的原因,这样您就可以知道在代码中修复什么以优化性能。
您可以使用类System.Diagnostics命名空间。比如PerformanceCounter类等等。
如果你有一些钱要花,你可以使用用于RedGate开发的.NET束,它有性能分析器,内存分析器等。
还有其他的便宜点替代品。
发布于 2011-12-16 14:10:05
Presentationfontcache.exe是属于.NET框架的微软公司的。它通常使用高CPU。
您可以尝试停止服务,方法是删除它创建的文件: Windows\ServiceProfiles\LocalService\AppData\Local\FontCache4.0.0.0.dat,并重新启动服务以检查这是否有帮助。
https://stackoverflow.com/questions/8535044
复制相似问题