为什么切换用户配置文件可以提高WinForms的性能?
本文关键字:WinForms 性能 用户 配置文件 为什么 | 更新日期: 2023-09-27 18:05:03
过去几个月,我们的用户一直在抱怨我们的WinForms应用程序的性能。网上有很多关于如何提高WinForms性能的文章,所以我并不是在寻找那些明显的建议。
我得到的是一个似乎有效的巫毒解决方案,而且我没有任何理由。如果我们简单地切换用户,即注销,然后用一个以前从未登录过的用户登录到机器上,然后启动应用程序,它的性能很好,每个人都喜欢。
问题是,我不知道为什么会这样。我们不写任何东西到AppData目录,我们所有的日志文件都在运行目录(我意识到这是不好的做法,但我们在XP上运行,应用程序是几年前建立的)。我们没有写入注册表,所以也不可能是这样。
我在网上能找到的最好的是关于"清除临时文件"的非常模糊的声明,但我真的不能因为这个而建议改变过程。
可能标准用户在机器后台运行了一些额外的进程,这些进程窃取了您的性能。试过在windows保护模式下运行应用程序吗?
您可以使用一些专业的应用程序来诊断问题,例如Red Gate Performance Profiler,它不是免费的,但他们有14天的试用期。然而,这里有一些常见的'可能的问题:
- 检查你的应用程序的虚拟内存,也许它在你没有注意到的情况下反复增加,你可以运行你的任务管理器,转到性能选项卡,观察PF使用情况。在你的代码中,检查你是否正在创建一些
Disposable
对象或资源而没有处理它/关闭它们。 - 你应该使用更专业的日志库,如Log4Net,但是如果你想自己做日志记录,我建议你切换到使用
EventLog
,并尝试以异步方式进行日志记录。