Il y a deux ou trois choses différentes à considérer ici: lorsque vous changez la priorité d'un processus, cette priorité de base est héritée par tous ses threads et les autres processus qu'elle démarre. La priorité actuelle est composée de la priorité de base et d'un certain nombre de facteurs qui déterminent si elle doit être augmentée ou non - le fait d'être au premier plan n'augmente pas nécessairement la priorité, mais des choses comme sortir d'un état d'attente ou faire des IO peuvent donner un petit coup de pouce temporaire.
Je dirais que l'exécution de votre processus Excel avec une priorité élevée lorsque vous travaillez sur ces classeurs très intensifs pourrait avoir un sens, et je dirais qu'un deuxième raccourci appelé "Excel haute priorité" pourrait être un bon moyen de le faire. Créez d'abord un fichier batch d'une ligne qui exécute la commande de démarrage avec les commutateurs appropriés, par exemple:
start "high priority excel" /max /high "C:\Program Files\Microsoft Office\Office12\EXCEL.EXE"
(sur une version 64 bits de Windows, ce serait à start "high priority excel" /max /high "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE"
moins que vous exécutiez également une version 64 bits d'Office, qui n'est disponible qu'à partir de 2010 start "high priority excel" /max /high "C:\Program Files\Microsoft Office\Office14\EXCEL.EXE"
) Notez que le titre de la fenêtre peut être tout ce que vous aimez, mais n'est pas facultatif.
Maintenant, enregistrez-le comme par exemple HiperExcel.cmd quelque part à portée de main - peut-être le dossier de bureau, ou le dossier ac: \ scripts ou somesuch, ou votre dossier personnel afin que cela puisse se déplacer de machine à machine. Créez un nouveau raccourci qui pointe vers ce fichier, faites du dossier de démarrage le dossier où le fichier est conservé. Choisissez une icône pour le fichier - recherchez l'exécutable Excel.exe, puis choisissez autre chose que l'icône Excel habituelle pour plus de clarté.
Cliquez sur votre nouveau raccourci et il appellera Excel en cours d'exécution en tant que processus de haute priorité, avec une priorité de base de 13 et lors de son exécution, il obtiendra probablement la priorité maximale pour les processus en temps non réel de 15. Même si quelque chose d'autre reçoit un coup de pouce, il ne devrait pas avoir une priorité plus élevée. Notez que le processus de premier plan n'obtient PAS un boost de priorité uniquement pour être au premier plan (pas depuis NT4.0). Alors, quoi de neuf?
Récapitulons ce que nous savons jusqu'à présent: les processus se relaient en fonction de la priorité, mais pas à l'exclusion absolue des processus de priorité inférieure (enfin, les threads vraiment, mais permettent de garder les choses aux processus pour faciliter la discussion). Que se passe-t-il lorsqu'un processus obtient son «tour»? Il peut fonctionner pendant une unité de temps appelée quantum. Combien de temps dure un quantum? Ça dépend...
C'est là que le processus de premier plan utilise plus de ressources - lorsqu'il obtient un tour, ce tour peut durer trois fois plus longtemps que les tours des processus en arrière-plan. Il peut donc ne pas être utilisé très souvent (selon la priorité), mais lorsqu'il le fait, il le monopolise plus longtemps.
Vous pouvez choisir d'utiliser des quantums courts ou longs (la valeur par défaut est courte sur le système d'exploitation de la station de travail, longue sur les serveurs) et d'avoir le processus de premier plan boosté ou non (variable pour w / s, fixé pour les serveurs par défaut), et si boosté, par combien (effectivement jusqu'à 3 fois). Maintenant, la partie délicate de cela est que si vous choisissez de changer le multiplicateur, vous vous retrouvez avec tout ce qui a des valeurs très courtes pour le quantum, alors que si vous désactivez le renforcement au premier plan, tout devient plus long mais égal. Si vous le désactivez bien sûr, les services Windows en arrière-plan obtiennent le même quantum que vos applications utilisateur, ce qui n'est peut-être pas idéal. Vous devez définir la valeur dans le registre à: HKLM \ System \ CurrentControlSet \ Control \ PriorityControl \ Win32PrioritySeparation, à l'aide d'un masque de bits. Pour faciliter les choses, les valeurs les plus probables que vous souhaiteriez sont:
2 = valeur par défaut, signifie utiliser les valeurs par défaut avec un boost maximum. les valeurs par défaut sur le poste de travail O / S sont courtes et variables. 8 = fixe, quantum court (premier plan et arrière-plan sont égaux) 40 (décimal, x28 hex) = fixe et long (c'est la même chose que les valeurs par défaut du serveur) 36 (décimal, x24 hex) = court, variable mais un boost minimal pour le processus de premier plan . Je pense que c'est celui qui vous donnera probablement le plus d'avantages pour réduire la quantité de concurrence des autres applications, mais permettra à Excel d'obtenir plus de ressources au premier plan (tant que vous augmentez également sa priorité).
Essayez-le et voyez, j'espère que cela aide - votre kilométrage peut bien sûr varier.
Mis à part: de nombreuses autres applications ou processus n'ont pas le CPU comme goulot d'étranglement - vos exemples de synchronisation Outlook et de navigation IE ont probablement le réseau, et peut-être pour Outlook certains disques IO comme facteurs plus importants de leur vitesse, donc s'ils obtiennent un Boost de premier plan ou non, l'impact sur les performances visibles est probablement inférieur à ce que vous pouvez voir par simple observation.