0

我正在诊断测试我的 winRT 商店应用程序,并注意到我的 Surface RT 设备和我的 i7 笔记本电脑之间存在相当大的性能差异。

现在 - 我知道 ARM CPU 和 i7 之间的预期性能存在很大差异 - 但是当我在 i7 上的平均 WCF 网络调用需要 ~0.2 秒,而我的表面设备需要 ~1.2 秒时,我不得不开始查看优化和改进。如果两者之间的性能差异只有几百毫秒,那么我不会太介意,但表面设备确实感觉有点笨拙——唯一的瓶颈似乎是服务!

有没有人有解释,甚至有一些性能改进提示?我应该提到我正在使用二进制序列化跨 basicBinding 运行服务。

4

2 回答 2

0

WCF 是一个重量级的堆栈,所以如果它在慢得多的 CPU 上执行得慢得多,我不会感到惊讶。确保同时没有其他 CPU 负载,从后台线程启动请求并显示进度指示器或尝试切换到更轻的技术,如 REST/JSON。

于 2012-11-05T16:50:34.653 回答
0

我已切换到 OData 流以提高性能。

除了速度快之外,这还允许我从服务中仅选择我需要的数据——既减少了我的应用程序的带宽消耗,又降低了服务调用的速度。

于 2012-11-09T08:25:31.403 回答