Antecedentes y esquema de la solución
Esto es un poco largo, pero el punto es educar a través de la sección de Instrucciones detalladas. Si ya tienes educación, solo lee esta sección y posiblemente la conclusión ;-)
He estado usando Synergy en Linux y Windows en sus diversas formas desde la década de 1990, y esta pregunta aparece a menudo. Hay dos causas comunes, y trato aquí solo con la primera.
Generalmente es un problema a nivel del sistema operativo, siendo la prioridad del planificador del cliente, por lo que la solución es simplemente aumentar la prioridad del cliente. Eso mejorará las cosas, pero la experiencia general seguirá basándose en las opiniones del planificador sobre la importancia de actualizar la pantalla, etc. Vea al final para obtener más información al respecto.
A veces hay otra razón: uno o ambos procesos del servidor o del cliente mueren y se reinician, en cuyo caso debe habilitar el registro de nivel de depuración en el servidor y el cliente de Synergy y tomarlo desde allí. Una vez que haya resuelto eso , implemente lo anterior.
Instrucciones detalladas
Aumentar la prioridad del planificador del cliente de Windows
Con Windows 7, no conozco los atajos en las versiones más recientes.
Abra el Administrador de tareas (Ctrl-Alt-Esc) y haga clic en la pestaña Procesos.
Haga clic derecho en synergy.exe, haga clic en "Establecer prioridad" y elija High o Realtime.
Repita para synergyc.exe.
Si el servidor Synergy es demasiado lento, su proceso es synergys.exe.
Aumento de la prioridad del planificador del cliente Linux
Algo similar debería funcionar en Mac. Es posible que sepa cómo hacer esto en la GUI, pero yo uso la línea de comando. A menos que haga lo siguiente como root ( sudo su -
), tendrá que jugar (como root) visudo
y configurar los derechos relevantes para su uso renice
.
ps -eo pid,ni,cmd |\
grep synergy |\
grep -v grep |\
cut -d" " -f2 |\
while read pid; do echo -n $pid" "; done |\
xargs renice -19
Puede copiar y pegar lo anterior, o ponerlo en una línea eliminando todos los \
caracteres de salto de línea. Si desea ver qué se ejecutará sin hacerlo realmente, cambie el último comando a xargs echo renice -19
.
Como se indicó anteriormente, esto aún depende de la opinión del planificador sobre la importancia de muchos otros procesos. Si quieres aprender un poco, puedes hacer lo siguiente.
Ver procesos de Windows
Abre el Administrador de tareas. En la pestaña Procesos, haga clic en el botón "Mostrar procesos de todos los usuarios". Luego haga clic en el menú Ver y en "Seleccionar columnas ...". Asegúrese de que solo esté marcado lo siguiente: Nombre de usuario, Uso de CPU, Tiempo de CPU, Prioridad básica, Línea de comando. También puede hacer clic en Descripción si lo desea.
Puede arrastrar la ventana y las columnas más grandes para facilitar la lectura. Haga clic en el encabezado de una columna para ordenar por él. También puede hacer clic con el botón derecho en el nombre de una imagen y, por ejemplo, ir a los servicios asociados. Esto es útil para nombres de imagen tan sosos como svchost.exe. Si quieres jugar con una herramienta realmente poderosa (¡ten cuidado!), Prueba ProcessHacker .
Ver procesos de Linux
Ejecute ps -eo pid,ni,cmd | less
para ver todos los procesos en ejecución. Cada línea representa un estado del proceso, y las columnas son: el ID del proceso, su prioridad y la línea de comando en cuestión. Un problema es que en Unix, cuanto menor es el valor agradable, mayor es la prioridad.
Conclusión
La cuestión es que Synergy depende de muchos otros procesos para realizar parte de su trabajo (como tratar con SSL en Pro), y cada uno de estos procesos tiene una prioridad asignada por el programador del sistema operativo. Por lo tanto, realmente no hay una solución simple.
Incluso después de aplicar la "corrección" mencionada anteriormente, las cosas a menudo son lentas después de ingresar a la pantalla de un cliente en el que no ha estado durante un tiempo, y eso se debe a que toda esta familia de procesos se está colocando en el segundo plano del programador, por lo que hablar. La mayoría de los planificadores en estos días son adaptativos y disminuyen la prioridad de los procesos de los usuarios que han estado inactivos durante algún tiempo. Para que el programador vuelva a verlos como importantes, se requiere un uso continuo durante un tiempo, como mover el mouse mucho después de ingresar a la pantalla. Es un dolor, pero así es como funcionan los programadores de SO en sistemas operativos que no son en tiempo real.
Hay formas de ajustar eso, pero es muy específico para cada sistema operativo (incluso versiones diferentes) y frágil (léase: se rompe fácilmente en los parches del sistema operativo). Sin mirar el código, espero que Nick y el equipo solo resuelvan esto empujando a Synergy al nivel del controlador del kernel, lo que lo haría mucho más frágil y causaría un salto significativo en el precio.