Oui, je sais que la mise en veille prolongée s'applique généralement à un ordinateur. (Mettre en veille prolongée, ce qui signifie enregistrer la mémoire du programme sur le disque et pouvoir la restaurer de manière cohérente.)
Cependant, la mise en veille prolongée d'un programme peut être très utile. Supposons que je veuille jouer à un jeu, mais que quelques programmes comme firefox, acrobat prennent 500M de mémoire, donc je veux le libérer. La fermeture puis le démarrage peuvent prendre du temps, surtout si les données de session ne peuvent pas être stockées. Au lieu de cela, je vais les mettre en hibernation. Existe-t-il un moyen de mettre en veille prolongée un programme?
windows-7
performance
hibernate
apoorv020
la source
la source
Réponses:
Il y a une question connexe à ce sujet sur StackOverflow. C'est plus lié à la programmation, mais la principale réponse acceptée explique pourquoi ce que vous essayez de faire est difficile et offre une alternative viable.
Fondamentalement, exécutez vos applications `` professionnelles '' dans une machine virtuelle et mettez-la en pause / hibernation / fermez-la lorsque vous souhaitez jouer.
la source
Bien qu'il ne s'agisse pas d'une mise en veille prolongée réelle , le processus peut être suspendu. Il cessera immédiatement d'utiliser les cycles CPU, mais utilisera toujours la mémoire. Heureusement, cette mémoire sera remplacée par un fichier d'échange, si vous lancez ensuite une application gourmande en mémoire, ce n'est donc pas un vrai problème. Le processus suspendu ne peut pas survivre au redémarrage \ déconnexion, mais ce sera suffisant pour jouer à un jeu.
Question connexe: suspendre / reprendre un processus en toute simplicité?
En interne, la suspension de processus peut se faire via différentes approches :
Paire de fonctions SuspendThread et ResumeThread .
NtSuspendProcess
(non officiellement documentée) qui a été introduite avec Windows XP Sp0 et fonctionne depuis sur chaque version du système.Interface de débogage fournie par Microsoft, utilisant les fonctions DebugActiveProcess et DebugActiveProcessStop . Lorsqu'un débogueur s'attache à un processus distant, tous les threads de la cible sont immédiatement suspendus jusqu'à ce que le débogueur donne un signe pour les laisser s'exécuter.
Il existe un certain nombre d'outils disponibles, qui peuvent suspendre un processus:
De plus, le moniteur de ressources ( Task Manager→ Performance→ Open Resource Monitor) dans Windows Vista et supérieur peut suspendre / reprendre les processus:
la source
"Mettre en veille prolongée" une application ne serait pas plus rapide que de simplement la fermer et la redémarrer, bien que votre point sur les données de session soit valide. En général, il n'y aurait pas grand-chose, sinon aucun avantage.
la source
Closing the program and then restarting it only requires copying it from the hard disk.
Vous oubliez d'ajouter le temps qu'il faut pour remettre le programme dans son état d'origine. Par exemple, rouvrir un tas d'onglets de navigateur, ouvrir un fichier dans un éditeur, etc.Étant donné que vous êtes sous Windows, vous pouvez toujours créer deux comptes d'utilisateur et utiliser la fonction de changement de compte rapide dans Windows et utiliser chacun d'eux pour différents ensembles d'applications. Étant donné que Windows hiberne à peu près les autres vues ouvertes sur l'ordinateur. Je le pense.
la source