基于Windows嵌入式框架的WPF问题

基于Windows嵌入式框架的WPF问题,wpf,embedded,Wpf,Embedded,我目前正在为单板AMD Geode计算机(触摸屏)开发WPF应用程序 Windows Embedded Standard在设备上安装良好,并加载了.Net 3.5。应用程序在大部分情况下运行良好,但我发现一些异常行为,我怀疑它来自框架,因为这些问题无法在我的开发机器上重现 对问题的简短描述: 我有这个屏幕键盘。当您触摸按钮时,它会在屏幕键盘顶部的文本框中显示您正在键入的内容。用户按键由按钮上的鼠标按下事件处理程序处理。很简单。在这个处理器中,我: 为按键播放声音 做一些移位和大写逻辑 确定按下了

我目前正在为单板AMD Geode计算机(触摸屏)开发WPF应用程序

Windows Embedded Standard在设备上安装良好,并加载了.Net 3.5。应用程序在大部分情况下运行良好,但我发现一些异常行为,我怀疑它来自框架,因为这些问题无法在我的开发机器上重现

对问题的简短描述:

我有这个屏幕键盘。当您触摸按钮时,它会在屏幕键盘顶部的文本框中显示您正在键入的内容。用户按键由按钮上的鼠标按下事件处理程序处理。很简单。在这个处理器中,我:

  • 为按键播放声音
  • 做一些移位和大写逻辑
  • 确定按下了什么键(通过发送器)
  • 更新键盘文本
  • 很明显,这在我的开发机器上是有效的。没问题。在Windows嵌入式标准上,我的键盘有一个奇怪的延迟。基本上,我按下一个键,声音会播放,但你按下的键不会在键盘顶部的文本框中更新。它只是在很久以后才随机更新。(无论是几秒钟后还是30秒钟后,它都是随机的,并跟踪我按下的所有键)

    现在,我在我的“鼠标按下处理程序”的底部放置了一个日志条目,并确定我的处理程序确实完成了。文本根本没有更新。此外,我可以继续按按钮,当我按按钮时声音会播放,但是文本很长一段时间都没有更新,然后突然全部更新

    另一件奇怪的事情是,这种行为并不总是存在。似乎操作系统运行的时间越长,键盘滞后的可能性就越大。设备上没有运行其他程序。通常,在重新启动后,滞后时间约为5-20分钟。我已经检查了CPU,它在延迟峰值期间几乎处于空闲状态。应用程序重新启动并不能解决初始滞后假设。必须重新启动操作系统才能解决此问题

    现在,我已经尝试了我能想到的一切,但我认为这个地方是我最后的希望

    请帮帮我


    关于,

    我的盲目猜测是,磁盘速度不够快,无法在消息处理程序中加载声音-尝试在另一个线程上播放声音。

    我发现了问题

    这在某种意义上是显而易见的。SBC具有与系统共享内存的车载视频控制器。共享的内存量可以在bios中设置。我将它从32Mb设置为64Mb,它完全解决了我的滞后问题


    不寻常的情况,希望它能帮助其他人。

    不幸的是不能。我已经将事件处理程序完全简化为a:{tbDisplay.text+=“a”}没有声音,没有计算只需按下一个按钮,文本就应该附加一个“a”。仍然落后。虽然它滞后,但操作系统的其他部分响应良好,只有我的应用程序在随机长时间内不显示这些附加字符。你检查过20分钟后的内存使用情况吗?