我读到隐藏选项卡上的计时器以 1 秒的分辨率运行。这对我来说确实是一个缺陷。使用 WebRTC 浏览器可以建立一个 p2p 网络。对于我的应用程序,其中一个节点充当其他节点的服务器。现在,如果服务器的对等方隐藏了他的选项卡,所有其他客户端都会受到影响,因为服务器以 1 fps 运行。
在我的情况下,应用程序是一个游戏,所以这是不可接受的。我认为随着 WebRTC 的出现,更多的应用程序会想要使用这种模式。这个问题有解决方案吗?
如果不是谷歌应该解决这个问题!
我读到隐藏选项卡上的计时器以 1 秒的分辨率运行。这对我来说确实是一个缺陷。使用 WebRTC 浏览器可以建立一个 p2p 网络。对于我的应用程序,其中一个节点充当其他节点的服务器。现在,如果服务器的对等方隐藏了他的选项卡,所有其他客户端都会受到影响,因为服务器以 1 fps 运行。
在我的情况下,应用程序是一个游戏,所以这是不可接受的。我认为随着 WebRTC 的出现,更多的应用程序会想要使用这种模式。这个问题有解决方案吗?
如果不是谷歌应该解决这个问题!
您可以使用Web Workers。它们不受选项卡/窗口状态的影响,并且您得到的延迟最小。
这是Web Workers + setInterval/setTimeout的示例/时间测试。在示例中,我有一个工作人员每 200 毫秒向主页发送一条消息。
从我的测试中,当标签被隐藏时,我的每个呼叫延迟延迟少于0.5毫秒。
如果您需要任何澄清,请告诉我。