我正在开发一个基于C#WPF XAML的Windows桌面应用程序,在我关注文本框之前,UI非常流畅和光滑。一旦集中注意力,整个UI的更新率就会低得多。我估计它最初都以“完整”(?)60fps
运行,在文本控件获得焦点后降至更像30fps
。我已经挖掘了各种关于WPF性能的Microsoft文档和建议,但似乎没有提到仅仅是控件的重点是一个问题。这很神秘。我曾尝试使用Windows性能工具包来分析问题,但我无处可去。在某些情况下我可以通过在点击任何其他控件时明智地使用Keyboard.ClearFocus()
来执行klugey解决方法,这会使更新速率恢复正常,但是必须这样做并不是很好。
这个问题很容易复制 - 一个全新的VS2015
WPF项目,带有一个文本框和一个按钮会显示问题(将Keyboard.ClearFocus()
添加到按钮的点击处理程序中)。这表明它不是我的应用程序代码特有的,它是一个框架问题。
有没有人知道为什么所描述的问题可能正在发生,或者我怎么能够解决它?
更新:我上传了一个展示问题的示例项目,在此处:http://muuh.co.uk/SlowTextbox.zip