应用程序,提高触摸事件的性能

本文关键字:事件 性能 触摸 高触摸 应用程序 | 更新日期: 2023-09-27 18:20:26

基本上,我有一个应用程序开关是8000px乘8000px。我们可以放大以查看特定的部分,例如在收音机上,也可以缩小以查看所有内容。

汽车的每个部分都是一个控制器,我们可以在双触摸或多触摸显示器上用手指进行操作。

我的问题是:对于操纵控件,例如"音量"按钮,用户需要像在现实生活中一样移动鼠标,因此需要进行圆形移动。有了鼠标,一切都很完美,它会立即做出反应,不会有任何延迟。我使用OnMouseLeftButtonDown、OnMouseMove等。对于触摸,计算机似乎很难获得触摸位置,并且存在巨大的滞后,尤其是当用户用两个手指同时移动两个不同的按钮时。我使用OnTouchDown、OnTouchMove等…

鼠标和触摸之间的唯一区别是当我们需要获得位置时,我使用的鼠标:(e是MouseButtonEventArgs)

Point currentPosition = e.GetPosition(this);

使用我使用的Touch:(e是TouchEventArgs)

Point currentPosition = e.GetTouchPoint(this).Position;

这之后的一切都是一样的。

我不知道是因为我的应用程序中有太多的控件(我们可以操作5000多个控件,但当我们只放大两个控件时,情况是一样的),还是因为计算机很难从触摸事件中获得位置。。。。

有人能帮我吗?我需要找到一个解决方案来消除滞后。

我使用Visual Studio 2010、Blend 4和.NET 4.0Windows 7 64位7 Gb RAMXeon 2.13 Ghz,2核,8线程屏幕:ELO技术,在NEC 2490WUXi2屏幕

应用程序,提高触摸事件的性能

这似乎是一个错误。看看这篇文章。

http://social.msdn.microsoft.com/Forums/en-US/wpf/thread/756a2ccf-6cf1-4e4a-a101-30b6f3d9c2c9/#ed51226a-6319-49f8-be45-cf5ff48d56bb

http://www.codeproject.com/Articles/692286/WPF-and-multi-touch

很难说你为什么会遇到这样的问题-可能是OnTouchMove比MouseMove更频繁地被触发,你应该创建一些额外的处理来平滑触摸位置数据。我会尝试在点当前位置=e.GetTouchPoint(this).Position;

看看表现。

另一种方法是计算有多少OnTouchMove被触发。

问题出在触摸设备上,请尝试另一个设备,看看滞后是否仍然存在。