WPF - низкая производительность, когда процесс выполняется под учетной записью SYSTEM.
У меня есть приложение WPF, которое обычно работает под учетной записью локального пользователя с правами администратора. Однако в некоторых случаях процесс запускается службой или сценарием, который выполняетсяSYSTEM
учетная запись и процесс, следовательно, также работает подSYSTEM
учетная запись.
Проблема в том, что когда процесс выполняется подSYSTEM
В аккаунте наблюдаются некоторые заметные лаги (пользовательский интерфейс не очень отзывчив).
Я покопался с использованием perfmon и не сталНе вижу ничего подозрительного (процессор не перегружен, не выдается никаких необычных исключений, нет утечек памяти и т. д.). Я также проверил журнал событий и не сделалне найти ничего полезного (никаких предупреждений / ошибок, только несвязанная информация о системе).
Сначала я подумал, что это происходит из-за того, что процесс выполняется в олицетворенном контексте, но даже без олицетворения (я использовалPsExec.exe -i -s
чтобы запустить его под учетной записью SYSTEM), лаги все еще сохраняются.
Есть идеи, откуда это взялось?
Не стесняйтесь спрашивать, если вам нужна дополнительная информация, яЯ в основном искал некоторые идеи, которые помогли бы найти основную причину (очевидный обходной путь для этого - не запускать процесс под учетной записью SYSTEM, но это не совсем исправление).
Также обратите внимание, что приложение работает под настроенной версией Windows Embedded Standard (XP SP3) и на устройстве с емкостным сенсорным экраном.
Мой вопросМой вопрос неКак я могу решить эту проблему ?" но "почему приложение работает с низкой производительностью под учетной записью SYSTEM.
Обновление 1Я пытался сменить виндуНастройки оптимизации производительности, как предложил @Sander, ничего не изменили (http://support.microsoft.com/kb/308417).
Обновление 2Я также сделал тест, используя это приложение:http://www.kynosarges.org/WpfPerformance.html#Application
При запуске приложения под каждой учетной записью, я последовательно получаю время выполнения примерно в два раза больше под учетной записью SYSTEM для первого теста GDI + (оно в основном рисует кучу треугольников), что заставляет меня думать, что это не строго ограничено WPF. Опять я неt изменить что-либо, кроме учетной записи, под которой выполняется процесс.