我想知道一些应用程序如何在屏幕上显示协作者的光标并实时更新其位置,而不会影响太多的客户端资源。
我尝试用websocket/onmousemove:当我移动鼠标时,我将信息发送到服务器,服务器将信息发送给其他客户端,并在屏幕上使用JS/CSS更新我的位置。
有更好的解决方案吗?
问候,
要获得更好的性能,您可以做的可能是发送/接收更少的数据包,并计算大多数鼠标移动。
我的意思是,与其发送每次鼠标移动,不如每隔一段时间发送一次(比如500毫秒),然后在接收这些移动的客户端上,用相同长度的动画持续时间(在这个例子中是500毫秒)将光标动画到新的位置。
为了做到这一点,在你的onmousemove事件中,你可以使用一个全局变量,比如lastPacketTime
,如果当前时间戳Date.now()
低于lastPacketTime
+ 500ms,返回。否则,发送数据包,更新lastPacketTime