我有一個奇怪的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) –