移动设备上的周期性网络延迟达到峰值

Dex*_*mat 17 mobile networking real-time

我从服务器每200ms左右实时接收UDP数据包,有时我甚至会在几秒钟内收到数据包.

我把我的UDP ping(从客户端)放到200ms,这使我的网络响应更快,但这都是从实验中学到的.我不清楚为什么会这样.

我想了解节能算法如何在移动设备上工作,因为我认为这就是为什么会发生这种情况.

经过一些调查,我发现到目前为止最好的事情是 http://www.crittercism.com/2014/03/200ms-the-magical-number-for-faster-response-times/

但它没有太多有关该主题的细节,也没有提及进一步阅读.

小智 0

看待这个问题可能有两种方式:

为什么“200ms”如此特别

用户可以判断何时某些事情花费的时间超过 200 毫秒 - 300 毫秒。这可能不仅包括传输时间,还包括移动设备使用该数据所花费的时间。实际上,这是一个重要的平衡点。假设新数据持续可用,并且网络可以随时发送更新,那么超过 200 毫秒左右的速度可能会浪费资源。

https://medium.com/appdiff/magic-numbers-for-app-performance-45c7e3bc9e46

为什么调整 ping 频率似乎有效果

许多能量守恒算法做了两件事:

  • 仅在必要时发送/请求更新,但是...

  • 定期让网络知道您还在附近

这定义了另一个平衡点,因为“必要”更新之间可能会过去几秒钟,并且网络可能会检查您在该点之前是否仍然存在。通过调整 ping,您可能会表示“我还在这里,并且需要更新!” 每 200 毫秒。

https://en.wikipedia.org/wiki/Nagle%27s_algorithm

这可能无法解释您所看到的效果,但这些是需要考虑的因素。