我有一个奇怪的Windows Phone 7.1 API问题。我试图编写一个应用程序,从触摸屏发送触摸三角洲移动鼠标指针在桌面PC上。我使用UDP套接字,但我有一些性能问题。触控操作正在冻结我在Windows Phone 7.1(芒果)的udp发送
发送udp消息似乎每0.5秒左右冻结0.5-1.0秒。我不会发送大量的数据,并且我也调节它。我最近试图找到导致它的原因有点意外。
当有一个单独的线程与while循环,不断发送随机数据一切工作顺利和罚款。但是当我开始触摸WP7手机的屏幕时,我开始变得奇怪的打嗝。为了进行调试,我已经删除了所有触摸事件的监听器,并且我没有在我的应用中做任何其他事情,然后将这些数据发送到UDP套接字上。但是当我将手指放在屏幕上时,为什么会像这样冻结?它使得写这样的应用程序变得不可能。
我听说应该将触摸操作移动到专用线程,是否包含在WP7.1的Beta2刷新中?
的代码都有点这样的:完成SendToAsync当
new Thread(() =>
{
while (true)
{
_event.Reset();
_socket.SendToAsync(_args);
_event.WaitOne();
Thread.Sleep(5);
}
}).Start();
事件句柄设置。所以它每5毫秒就会一直发送udp数据。它工作正常(我可以以稳定和快速的速度收到),只要我不触摸并拖动我的手指在手机的屏幕上。然后,我开始每隔一段时间获得一次冻结。很奇怪,因为我在一个单独的线程上运行udp-firing。处理操作时,手机的CPU是否以某种方式过载?那可能会导致打嗝吗?
更新
我已经在另一个线程refrased和更新这个问题,使其多一点明确:
Poor UDP performance with Windows Phone 7.1 (Mango)
[与三星Omnia 7与Windows Phone 7.1(芒果)性能不佳的UDP [可怜的UDP](http://stackoverflow.com/questions/6930977/poor-performance-of-udp-on-samsung-omnia- 7-with-windows-phone-7-1-mango) –