Contexte et aperçu de la solution
C'est un peu long, mais le but est d'éduquer via la section Instructions détaillées. Si vous êtes déjà éduqué, lisez simplement cette section et éventuellement la conclusion ;-)
J'utilise Synergy sous Linux et Windows sous ses diverses formes depuis les années 1990, et cette question revient souvent. Il y a deux causes communes, et je ne traite ici que de la première.
C'est généralement un problème au niveau du système d'exploitation, étant la priorité du planificateur du client, la solution consiste donc simplement à augmenter la priorité du client. Cela améliorera les choses, mais l'expérience globale sera toujours basée sur les vues du planificateur sur l'importance de mettre à jour l'écran, etc. Voir à la fin pour plus d'informations.
Parfois, il y a une autre raison: l'un ou les deux processus serveur ou client meurent et sont redémarrés, auquel cas vous devez activer la journalisation au niveau du débogage sur le serveur et le client Synergy, et la reprendre à partir de là. Une fois que vous avez résolu cela , implémentez ce qui précède.
Des instructions détaillées
Augmentation de la priorité du planificateur client Windows
Sous Windows 7, je ne connais pas les raccourcis des versions plus récentes.
Ouvrez le Gestionnaire des tâches (Ctrl-Alt-Esc) et cliquez sur l'onglet Processus.
Cliquez avec le bouton droit sur synergy.exe, cliquez sur "Définir la priorité", puis choisissez Élevé ou Temps réel.
Répétez l'opération pour synergyc.exe.
Si le serveur Synergy est trop lent, son processus est synergys.exe.
Augmentation de la priorité du planificateur client Linux
Quelque chose de similaire devrait fonctionner sur Mac. Vous savez peut-être comment faire cela dans l'interface graphique, mais j'utilise la ligne de commande. À moins que vous ne fassiez ce qui suit en tant que root ( sudo su -
), vous devrez jouer (en tant que root) avec visudo
et configurer les droits appropriés à utiliser 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
Vous pouvez copier et coller ce qui précède, ou le mettre sur une seule ligne en supprimant tous les caractères \
et les sauts de ligne. Si vous voulez voir ce qui sera exécuté sans le faire, remplacez la dernière commande par xargs echo renice -19
.
Comme indiqué ci-dessus, c'est toujours à la demande de l'ordonnanceur sur l'importance de beaucoup d'autres processus. Si vous voulez en apprendre un peu, vous pouvez procéder comme suit.
Voir les processus Windows
Ouvrez le Gestionnaire des tâches. Dans l'onglet Processus, cliquez sur le bouton "Afficher les processus de tous les utilisateurs". Cliquez ensuite sur le menu Affichage, puis sur "Sélectionner les colonnes ...". Assurez-vous que seuls les éléments suivants sont cochés: nom d'utilisateur, utilisation du processeur, temps du processeur, priorité de base, ligne de commande. Vous pouvez également cliquer sur Description si vous le souhaitez.
Vous pouvez faire glisser la fenêtre ainsi que des colonnes plus grandes pour faciliter la lecture. Cliquez sur un en-tête de colonne pour le trier. Vous pouvez également cliquer avec le bouton droit sur un nom d'image et, par exemple, accéder aux services associés. Ceci est utile pour des noms d'images fades tels que svchost.exe. Si vous voulez jouer avec un outil vraiment puissant (attention!), Essayez ProcessHacker .
Voir les processus Linux
Exécutez ps -eo pid,ni,cmd | less
pour voir tous les processus en cours d'exécution. Chaque ligne représente un état de processus, et les colonnes sont: l'ID de processus, sa priorité et la ligne de commande en question. Un piège est que sous Unix, plus la valeur de Nice est basse, plus la priorité est élevée.
Conclusion
Le fait est que Synergy dépend de beaucoup d'autres processus pour effectuer une partie de son travail (comme le traitement du SSL dans Pro), et chacun de ces processus a une priorité qui lui est attribuée par le planificateur du système d'exploitation. Il n'y a donc vraiment pas de solution simple.
Même après avoir appliqué le «correctif» mentionné ci-dessus, les choses sont souvent lentes après être entrées dans un écran client où vous ne l'avez pas été depuis un certain temps, et cela est dû à toute cette famille de processus mis sur le brûleur arrière du planificateur, donc pour parler. La plupart des planificateurs de nos jours sont adaptatifs et diminuent la priorité des processus utilisateur qui sont inactifs depuis un certain temps. Pour que l'ordonnanceur les considère à nouveau comme importants, il faut continuer à les utiliser pendant un certain temps, par exemple en déplaçant beaucoup la souris après avoir ouvert l'écran. C'est une douleur, mais c'est ainsi que les planificateurs de système d'exploitation fonctionnent dans les systèmes d'exploitation en temps non réel.
Il existe des moyens de modifier cela, mais il est très spécifique à chaque système d'exploitation (même les différentes versions) et fragile (lire: casse facilement lors des correctifs du système d'exploitation). Sans regarder le code, je m'attends à ce que Nick et l'équipe ne résolvent vraiment cela qu'en poussant Synergy au niveau du pilote du noyau, ce qui le rendrait beaucoup plus fragile et provoquerait une augmentation de prix significative.