【发布时间】:2011-08-04 10:29:43
【问题描述】:
我目前正在为单板 AMD Geode 计算机(触摸屏)开发 WPF 应用程序。
Windows Embedded Standard 在设备上安装良好,并且已加载 .Net 3.5。该应用程序在大多数情况下运行良好,但我遇到了一些异常行为,我怀疑它来自框架,因为这些问题无法在我的开发机器上重现。
问题的简短描述:
我在屏幕键盘上有这个。当您触摸按钮时,它会显示您在屏幕键盘顶部的此文本框中输入的内容。用户按键由按钮上的鼠标按下事件处理程序处理。很简单。在这个处理程序中我:
- 播放按键声音。
- 做一些移位和大写逻辑
- 确定按下了什么键(通过发件人)
- 更新键盘文本
现在,这在我的开发机器上非常有效。没问题。在 Windows Embedded 标准上,我的键盘出现了这种奇怪的延迟。基本上我按下一个键,声音会播放,但您按下的键不会在键盘顶部的文本框中更新。它只会在很久以后随机更新。 (无论是几秒后还是 30 秒后,它都非常随机,并且会跟踪我按下的所有键)
现在,我在“鼠标按下处理程序”的底部放置了一个日志条目,并确定我的处理程序确实完成了。文本根本没有更新。另外,我可以继续点击按钮,并且在我点击它们时会播放声音,但是文本很长时间没有更新,然后突然全部更新。
另一个奇怪的事情是这种行为并不总是存在。似乎操作系统启动的时间越长,键盘就越有可能滞后。设备上没有运行其他程序。通常在重新启动后大约 5-20 分钟不会出现延迟。我检查了 CPU,它在延迟峰值期间几乎处于空闲状态。应用程序重新启动并不能解决初始滞后假设。必须重新启动操作系统才能解决问题
现在,我已经尝试了几乎所有我能想到的东西,但我认为这个地方是我最后的希望。
请帮帮我。
问候,
【问题讨论】: