首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >由于UI自动化而导致的WPF性能问题

由于UI自动化而导致的WPF性能问题
EN

Stack Overflow用户
提问于 2011-04-19 12:06:48
回答 1查看 4.5K关注 0票数 7

我正在经历一个用这条线描述的问题。

dotTrace告诉我"Stylus“是有罪的。

我试过代码罗恩·ZChaim Zonnenberg发布,但没有成功。

皮疹提出了两个解决办法:

  1. 只有在机器上运行任何自动化客户端(如屏幕阅读器、tablet中的平板电脑等)时,才会触发自动化代码。因此,摆脱这种局面的一种方法是关闭所有这些自动化客户端应用程序。
  2. 如果不可行,那么另一种选择是,只有当应用程序的自动化树稀疏(如果使用自定义的窗口自动化对等程序禁用了楼宇自动化树)和可视化树密集时,UIElementHelper.InvalidateAutomationAncestors才会花费更长的时间。因此,另一个解决方案是禁用任何自定义自动化代码,并允许WPF构建完整的自动化树。这也会加快UIElementHelper.InvalidateAutomationAncestors的速度。

但是如何关闭桌面呢?我试图停止并禁用以下服务,但没有工作,tabtip.exe仍在后台运行:

  • Tablet PC输入服务
  • TabletServicePen

皮斯说这个问题应该在.NET 4.0 SP1中解决。有人知道.NET 4.0 SP1的发布日期吗?

我正在使用Visual 2010,Windows 7 64位,Wacom Graphire 4。

谢谢

更新

要关闭tabtip.exe,我只需要在禁用上述服务之后重新启动Windows。但单靠这个并不能解决我的问题。为了解决性能问题,我还必须禁用“服务”。

根据这条线 (2011年3月22日):

there is no published timeline for .NET Framework 4.0 sp1

EN

回答 1

Stack Overflow用户

发布于 2013-08-29 18:21:13

最近,我不得不在我们的项目中使用WPF工具来处理这个确切的问题。

崩溃发生的机器正在运行.NET Framework4.5。

当工具崩溃时,我们可以看到在.NET PresentationFramework UIAutomation中发生了崩溃。崩溃例外是:第一次出现'System.ArgumentOutOfRangeException‘类型的异常发生在PresentationFramework.dll中->此时该bug似乎在.NET框架中

但是接下来我们可以看到我们在一个UIAutomation调用中崩溃的堆栈,它引导我们找到这个线程,并发现这个模块是由Wacom服务触发的。

在应用程序崩溃的机器上运行的Wacom驱动程序是: Wacom Tablet 6.3.1w3,降级到以前的版本后,一切都开始工作了: WacomTablet_6.3.3-4

既然我们已经知道了问题的根源,我们就开始研究解决办法,以便仍然能够使用最新的驱动程序。好的是,它似乎不影响wacom平板电脑的功能:-转到控制面板。-双击程序和功能-点击左边标题为“打开或关闭”的链接-当加载时,取消选中“Tablet可选组件”(在Windows 7中可能称为“Tablet组件”)。-点击OK按钮这可能需要您重新启动windows机器。

这对我们起了作用。

玩得开心!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5716078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档