Неверная производительность HTTP-запроса на устройстве Windows Phone 7 - PullRequest
2 голосов
/ 14 мая 2011

Я портирую игру с Silverlight на Windows Phone 7 и использую HTTP-запросы для опроса в качестве соединения с сервером. Кажется, что производительность HTTP-запросов (либо WebClient, либо HttpWebRequest) на устройстве крайне низкая. Эмулятор работает нормально.

Я создал супер-простую тестовую программу, которая постоянно превращает HTTP GET в простой текстовый / простой контент.

Запуск программы на эмуляторе WP7 выдает десятки запросов в секунду, а на устройстве (HTC HD7) - всего около 1 / с, что недостаточно. Я пытался с GPRS и WLAN соединением с похожими результатами. Также оба подхода WebClient и HttpWebRequest дают одинаковый результат.

Для сравнения, телефон Android в тех же сетях работает намного лучше.

Существуют ли известные ограничения производительности сети WP7 Silverlight? Они отличаются от устройства к устройству? Есть ли обходные пути?

Это огромный showtopper для моего приложения.

РЕДАКТИРОВАТЬ: когда телефон подключен к ПК, запросы занимают ~ 40 мс. При использовании GPRS / WLAN запросы занимают 500 + мс. Как уже упоминалось, Android работает очень быстро без кабеля, вероятно, около 50 мс.

1 Ответ

0 голосов
/ 15 мая 2011

Проблема в вашей сети. В зависимости от объема данных и скорости сети (в вашем случае - GPRS и WLAN), производительность действительно может сильно различаться. Когда телефон подключен через USB, вы используете локальное соединение Ethernet, и поэтому производительность хорошая.

Для решения проблемы вам необходимо:

а) убедитесь, что сеть исправна. Не пробуйте это только в своем приложении. Посмотрите, как загружаются другие сайты, как работают другие интернет-зависимые приложения.

б) перемоделируйте способ инициализации HTTP-запросов. Попробуйте уменьшить частоту и (если возможно) количество передаваемых данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...