在不过多影响资源的情况下向他人展示屏幕上的光标的最佳方式
Best way to show others people cursor on the screen without affecting resources too much
我想知道一些应用程序如何在屏幕上显示协作者的光标并实时更新他们的位置,而不会对客户端的资源造成太大影响。
我尝试用 websocket/onmousemove 做到这一点:当我移动鼠标时,我将信息发送到服务器,服务器将它发送给其他客户端,并在他们的屏幕上使用 JS/CSS 更新我的位置。
有更好的解决方案吗?
此致,
为了获得更好的性能,您可以做的可能是发送/接收更少的数据包,并计算大部分鼠标移动。
我的意思是,您可以每隔一段时间发送一次(例如 500 毫秒),而不是发送鼠标的每一次移动,然后在接收到这些移动的客户端上,将光标移动到新位置,动画持续时间为相同的长度(本例中为 500 毫秒)。
为此,在您的 onmousemove 事件中,您可以使用一个全局变量,例如 lastPacketTime
,如果当前时间戳 Date.now()
低于 lastPacketTime
+ 500 毫秒,return。否则,发送数据包,更新lastPacketTime
我想知道一些应用程序如何在屏幕上显示协作者的光标并实时更新他们的位置,而不会对客户端的资源造成太大影响。
我尝试用 websocket/onmousemove 做到这一点:当我移动鼠标时,我将信息发送到服务器,服务器将它发送给其他客户端,并在他们的屏幕上使用 JS/CSS 更新我的位置。
有更好的解决方案吗?
此致,
为了获得更好的性能,您可以做的可能是发送/接收更少的数据包,并计算大部分鼠标移动。
我的意思是,您可以每隔一段时间发送一次(例如 500 毫秒),而不是发送鼠标的每一次移动,然后在接收到这些移动的客户端上,将光标移动到新位置,动画持续时间为相同的长度(本例中为 500 毫秒)。
为此,在您的 onmousemove 事件中,您可以使用一个全局变量,例如 lastPacketTime
,如果当前时间戳 Date.now()
低于 lastPacketTime
+ 500 毫秒,return。否则,发送数据包,更新lastPacketTime