我每隔200毫秒就会从服务器实时接收UDP数据包,并且有时我会在几秒钟内收到数据包。
我把我的UDP ping(从客户端)放到200ms,这使我的网络响应更快,但这都是从实验中学到的。 我不清楚为什么会这样。
我想了解节能算法如何在移动设备上运行,因为我认为这就是为什么会发生这种情况。
经过一些调查,我发现迄今为止最好的事情是 http://www.crittercism.com/2014/03/200ms-the-magical-number-for-faster-response-times/
但它没有太多关于这个主题的细节,也没有提及进一步阅读。
答案 0 :(得分:0)
大概有两种方法可以解决这个问题:
“ 200ms”为什么如此特别
用户可以分辨出什么时间花费的时间超过200毫秒-300毫秒。这可能不仅包括传输时间,还包括移动设备使用该数据所花费的时间。实际上,这是一个重要的平衡点。假设不断有新数据可用,并且网络可以随时发送更新,则任何时间都快于200ms可能会浪费资源。
https://medium.com/appdiff/magic-numbers-for-app-performance-45c7e3bc9e46
为什么调整ping频率似乎有效果
许多节能算法可以做两件事:
仅在必要时发送/请求更新,但是...
定期让网络知道您还在附近
这定义了另一个平衡点,因为在“必要的”更新之间可能会经过几秒钟,并且网络可能会检查您在该点之前是否还在。通过调整ping,您可能表示“我还在这里,想要更新!”每200毫秒。
https://en.wikipedia.org/wiki/Nagle%27s_algorithm
这可能无法解释您所看到的效果,但这是需要考虑的一些因素。