Me pregunto cómo algunas aplicaciones pueden mostrar los cursores de los colaboradores en la pantalla y actualizar su posición en tiempo real sin afectar demasiado el recurso del cliente.
Traté de hacer eso con websocket/onmousemove: cuando muevo el mouse, envío información al servidor que la envía a otros clientes y actualiza mi posición con JS/CSS en su pantalla.
¿Hay una solución mejor?
Saludos,
Lo que puede hacer para obtener un mejor rendimiento probablemente sería enviar/recibir menos paquetes y calcular la mayor parte del movimiento del mouse.
Quiero decir, en lugar de enviar cada movimiento del mouse, puede enviarlos de vez en cuando (como 500 ms), y luego, cuando el cliente recibe esos movimientos, animar el cursor a la nueva posición con una duración de animación de la misma longitud (500 ms en este ejemplo).
Para hacerlo, en su evento onmousemove puede usar una variable global, como lastPacketTime , si la marca de tiempo actual Date.now() está por debajo lastPacketTime + 500ms, regrese. De lo contrario, envíe el paquete y actualice lastPacketTime