问题描述
我有一个 WPF 应用程序,它通常在具有管理员权限的本地用户帐户下运行。但是,在某些情况下,该进程是由在SYSTEM
帐户下运行的服务或脚本启动的,因此该进程也在该SYSTEM
帐户下运行。
问题是,当进程在SYSTEM
帐户下运行时,会出现一些明显的滞后(UI 响应速度不是很快)。
我使用 perfmon 进行了一些挖掘,没有发现任何可疑的东西(CPU 没有过载,没有抛出异常异常,没有内存泄漏等)。我还检查了事件日志,没有发现任何有用的信息(没有警告/错误,只有与系统无关的信息)。
我首先认为这是由于在模拟上下文中执行的过程,但即使没有模拟(我曾经PsExec.exe -i -s
在 SYSTEM 帐户下启动它),滞后仍然存在。
知道这会从哪里来吗?
不要犹豫,询问您是否需要更多信息,我主要是在寻找一些有助于找到根本原因的想法(明显的解决方法是不在 SYSTEM 帐户下启动进程,但这并不是真正的修复)。
另请注意,该应用程序在 Windows Embedded Standard (XP SP3) 的自定义版本下运行,并且在具有电容式触摸屏的设备上运行。
我的问题
我的问题不是“我该如何解决这个问题?” 但是“为什么应用程序在 SYSTEM 帐户下运行时性能低下。
更新 1
我尝试按照@Sander 的建议更改 Windows 的性能优化设置,但没有任何改变(http://support.microsoft.com/kb/308417)。
更新 2
我还使用此应用程序进行了测试:http
:
//www.kynosarges.org/WpfPerformance.html#Application 在每个帐户下运行该应用程序时,在第一次 GDI+ 测试(它基本上画了一堆三角形),这让我认为这不是严格限制 WPF 的。同样,除了执行该过程的帐户之外,我没有更改任何内容。