[Explication] Qu'est-ce qu'un gouverneur CPU ?

Joe

Joe

Moderateur Global
Inscrit
23 Juillet 2011
Messages
17 562
Points
0
#1
kzako.png


Explication - Définition d'un gouverneur CPU dans le monde d'Android

Salut à tous !

Dans des applications comme SetCPU, on tombe souvent sur un paramètre qu'on ne maîtrise pas forcément: le choix du gouverneur CPU. Vous en saurez plus sur les gouverneurs grâce à ce post, qui est un extrait de notre tout dernier Guide Sony pour les nuls !

Merci à Th!baut qui m'a aidé à rédiger la description des gouverneurs !

Autre post explicatif sur les gouverneurs ici (merci à totochigna)


Alors qu'est-ce qu'un gouverneur CPU ?

Un gouverneur (“governor” ou “scaling governor” en Anglais) est un module du kernel qui a pour rôle de gérer la fréquence du processeur en fonction de la demande en ressources du système et des applications. Par exemple, au lancement d’un jeu, le gouverneur va faire grimper la fréquence du processeur, puis la faire diminuer lors d’une mise en veille.

Il existe différents gouverneurs qui réagissent différemment aux sollicitations, économisant la batterie pour certains, ou au contraire augmentant les performances de l'appareil pour d’autres. L'un des principaux intérêts des kernels customs est la grande variété de gouverneurs CPU qu'ils intègrent.
Avec un mobile rooté et en utilisant des applications telles que
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
,
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
,
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
ou encore
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
, il est possible de définir un gouverneur par défaut.


Quels sont les différents gouverneurs ?

Voici les gouverneurs les plus couramment rencontrés:


  • Performance : Le but de ce gouverneur est de tirer un maximum de puissance du téléphone. Il pousse la fréquence du processeur au maximum en permanence. C’est donc un gouvernor puissant mais qui s’avère très gourmand en énergie, en découle donc une autonomie amoindrie et une chauffe de l’appareil. Après une période d’utilisation allongée et une fréquence maximale trop élevée, il peut causer des dommages matériels au processeur.
    911219Blank9.png

  • Powersave : Comme son nom l’indique, le powersave permet de considérablement augmenter l’autonomie de votre smartphone. Il consiste à faire constamment tourner le CPU à la fréquence minimale définie. Le téléphone aura tendance à être particulièrement lent en mode powersave.
    911219Blank9.png

  • Userspace : Ce gouverneur est un peu spécial dans la mesure où il ne réagit pas aux demandes système. C’est l’utilisateur qui défini la fréquence qu’il souhaite pour faire des tests. Il est considéré comme obsolète car les applications telles que SetCPU permettent de faire ces réglages sans avoir besoin d’utiliser ce gouverneur.
    911219Blank9.png

  • OnDemand : L’Ondemand est le gouverneur le plus populaire, et en général celui qui est défini par défaut sur les terminaux android. Sa particularité par rapport aux autres gouverneurs est que lorsque la demande en ressources des applications dépasse un certain seuil, il définit automatiquement la fréquence à son maximum. Puis, au fur et à mesure, il baisse la fréquence par paliers en fonction de la diminution de la charge, et place de nouveau la fréquence au maximum si la demande remonte. Il constitue en général un bon compromis entre autonomie et puissance, mais a tendance à trop augmenter la consommation du CPU (sur les courtes et moyennes sollicitations), et donc affecter l’autonomie plus que d’autres gouverneurs dans ce genre de cas.
    911219Blank9.png

  • Conservative : Le nom de ce gouverneur en révèle le but, être plus économe en énergie que OnDemand. Conservative monte lentement à la fréquence maximale lors d’une sollicitation puis redescend rapidement à la fin de celle-ci. Économe mais pénalisant sur les pics de charge sur le processeur. Si vous lancez un jeux gourmand, il risque fort d’y avoir des ralentissement lors de sont lancement. C’est l’inverse de l'Interactive.
    911219Blank9.png

  • Interactive : A l’inverse du conservative, l’interactive fait rapidement monter la fréquence à son maximum lorsque la charge du système augmente, puis la fait diminuer doucement quand la demande baisse. Sa particularité est que contrairement à la plupart des autres gouverneurs, il ne fait diminuer la fréquence qu’après un certain temps écoulé depuis la baisse de la demande. L’avantage de l’interactive est donc la réactivité qu’il offre au système. Comparé à l’ondemand sur lequel il est basé, il offre un meilleur rapport autonomie/puissance lors des utilisations moyennes. Mais à l’instar de ce dernier, il engendrera une consommation particulière de la batterie ainsi qu’une chauffe de l’appareil lors des pics de fréquences, étant donné la durée de ces pics.
    911219Blank9.png

  • Smartass : Provenant d’un terme anglais que je ne traduirai pas (il y a peut-être des enfants dans la salle :? ), le smartass est à mi-chemin entre l’ondemand et l’interactive. Il offre en théorie le meilleur de ces gouverneurs pour une consommation plus faible. La fréquence monte vite, comme pour l'ondemand, à une fréquence idéale pour la sollicitation en cours. En fin de sollicitation, comme interactive, il redescend progressivement à la fréquence minimale. L'inconvénient, comme pour l'interactive est qu’il met un certain temps avant de redescendre à la fréquence minimale.
    911219Blank9.png

  • Smoothass : Le smoothass est une version plus “agressive” du smartass car il fait monter et descendre beaucoup plus vite les fréquences. De plus, en veille ou “au repos” (utilisation faible), la fréquence maximale est moins élevée que celle du smartass dans ce genre de situation. Par conséquent, le Smoothass offre théoriquement une meilleure autonomie que ce dernier, tout en reprenant ses avantages.
    911219Blank9.png

  • SmartassV2 : Le smartass V2 est une version réécrite du smartass. Il détermine une fréquence idéale en fonction de la demande, puis fait monter très rapidement le CPU à cette fréquence. Après une baisse de sollicitation, il fait descendre la fréquence plus lentement à l’instar du smartass.
    A l’inverse, lorsque l’appareil est en veille, il fait diminuer très vite la fréquence pour optimiser l’autonomie.
    911219Blank9.png
  • SmartassH3 : Basé sur le smartass V2, le smartassH3 est un gouverneur moins économe en ressources que ce dernier. En effet il va éviter au maximum de pousser le processeur à sa fréquence maximale, par conséquent il est suffisant pour des utilisations basiques de l'appareil mais n'est pas adapté aux jeux et autres utilisations poussées.
    911219Blank9.png

  • Lagfree : Très proche et plus économe que l’ondemand, le Lagfree a pour principale différence avec ce dernier qu’il monte ou diminue toujours les fréquences en respectant chaque palier. De plus, lors d’une sortie de veille, il définit une certaine fréquence assurant une fluidité optimale. Le Lagfree ne porte pas toujours si bien son nom, car étant donné l’augmentation des fréquences par pallier, il ne peut pas répondre rapidement à une sollicitation forte et soudaine.
    911219Blank9.png

  • Lionheart : Le lionheart est basé sur le gouverneur conservative, mais se comporte comme le performance lorsque la demande augmente.
    377871Blank4.png

  • La Série X : Les X series (OndemandX, InteractiveX, LionHeartX ou encore ConservativeX) sont des versions améliorées des gouverneurs correspondants. Généralement ces améliorations consistent en un profil de veille qui descend la fréquence maximale du processeur lors d’une veille ou d’une absence de sollicitation. De plus, dans le cas de téléphones à CPU multi-coeurs, les gouverneurs des X Series désactivent les coeurs inactifs en veille. Les “X Series” offrent donc théoriquement une meilleure autonomie que leurs correspondants originaux.
    911219Blank9.png

  • Min Max (ou minmax) : Un gouverneur pas bien compliqué à comprendre. Il fait passer le processeur de sa fréquence minimale à maximal sans passer par aucune fréquence intermédiaire en cas de sollicitation. Il redescend aussi brutalement en fréquence minimale en fin de sollicitation.
    911219Blank9.png

  • Brazilianwax : Similaire au SmarthassV2 mais en plus agressif. Les montées de fréquences se font plus rapidement. Donc meilleures performances mais moins bonne autonomie.
    377871Blank4.png

  • SavagedZen : Aussi basé sur le smartassV2. Il a pour but de se rapprocher des performances de brazilianwax mais en étant plus économe. Il constitue de ce fait un gouverneur très polyvalent.
    377871Blank4.png

  • Scary : Basé sur le conservative, ce gouverneur monte doucement en fréquence comme le conservative et abaisse lentement la fréquence comme le smartass. De plus, il définit automatiquement la fréquence à 245 Mhz lorsque le téléphone est en veille, ou la baisse à 122Mhz (toujours en veille) si la fréquence minimale que vous avez définie est supérieure à 245Mhz.
    377871Blank4.png

  • Lazy : Ce gouverneur tient bien son nom de “paresseux”: il est basé sur l’ondemand, et a pour différence avec ce dernier de ne passer d’une fréquence à l’autre qu’un certain temps après la hausse ou la baisse de la demande, dont il détermine plus rapidement l’intensité que l’ondemand. L’avantage de ce gouverneur est d’avoir un bon rapport entre autonomie et fluidité lors d’une utilisation d’intensité légèrement variable (navigation web notamment). Mais il reprend un inconvénient du lagfree: lors d’une hausse soudaine de la demande, il ne peut pas réagir efficacement.
    377871Blank4.png

  • Intellidemand : Intellidemand, pour “intelligent ondemand”, est une version modifiée de l’ondemand qui modifie la fréquence du processeur en fonction de l’activité de... la puce graphique ! Il se comporte en effet comme l’ondemand lorsque le GPU est fortement nécessité (jeux, animations etc.). Et lorsque le GPU n’est pas ou est peu sollicité, l’intellidemand limite la fréquence maximale à une valeur moyennement élevée de sorte à économiser la batterie. Il constitue donc une bonne alternative à l'ondemand.
    377871Blank4.png
  • IntelliMM : Gouverneur basé sur le MinMax, mais ayant en plus des fréquences Min et Max un état "UI" permettant de fluidifier la navigation dans l'interface utilisateur. Il est optimisé pour économiser la batterie et s'adapter aux processeurs les plus récents.
    377871Blank4.png
  • Intelliactive : Un gouverneur basé sur l'Interactive, dont le fonctionnement consiste à pousser moins vite la fréquence lors d'une demande en ressources: il évite donc un passage brutal à la fréquence maximal contrairement à l'Interactive. En outre il détecte les coeurs inactifs du processeur et annule certaines vérifications inutiles.
    377871Blank4.png

  • Hotplug : Gouverneur principalement intégré au kernel des téléphones à CPU multi-coeurs, le HotPlug est une version légèrement améliorée de l’ondemand quand à la diminution de la fréquence lors d’une baisse de la demande. De plus, il a pour particularité de désactiver les coeurs inactifs du processeur lors d’une utilisation peu intense.
    377871Blank4.png

  • Lulzactive : Le lulzactive développé par l’équipe de Tegrak est à mi-chemin entre l’interactive et le smartass. Il ne fait grimper la fréquence que lorsque c’est nécessaire, et a pour avantage d’être particulièrement configurable. Voir
    Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
    pour plus d’infos.
    377871Blank4.png
  • PegasusQ : PegasusQ est un gouverneur basé sur l'Ondemand et le Hotplug et optimisé pour les mobiles multicoeurs. Il utilise un système de "file d'attente" élaboré qui répartit de manière juste les ressources aux processus. En effet chaque processus, avant que le système ne lui alloue les ressources nécessaires à son lancement, est placé dans une file d'attente en fonction de sa priorité. Pour assurer une répartition juste des ressources chaque processus est lancé pour un certain laps de temps (n'oublions pas que tout se fait en quelques millisecondes) puis, lorsque sa priorité n'est plus la plus élevée, le processus est placé plus bas dans la file d'attente pour permettre à un autre processus prioritaire de se lancer. Il en résulte une meilleure répartition des ressources car les processus les plus énergivores n'empiettent pas sur les autres, tout en étant exécutés de manière efficace !
    377871Blank4.png
  • Yankactive : Gouverneur basé sur l'interactive et optimisé pour économiser de la batterie sans pertes de puissance.

Source: merci à
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
,
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
et au
Vous n'avez pas la permission de voir ce lien Connectez-vous ou inscrivez-vous dès maintenant.
.

Tags: liste à quoi sert un gouverneur choix de gouverneur
 
Dernière édition par un modérateur:
Dernière édition par un modérateur:
Azzul

Azzul

Membre
Inscrit
5 Septembre 2012
Messages
103
Points
0
#3
Wouhahou .... ca c'est de l'info!
Merci, ca servira toujours en cas de problème avec SetCPU de comprendre les termes ;)
 
titoucha

titoucha

Membre
Inscrit
24 Mai 2012
Messages
2 966
Points
0
#5
Merci pour ce tuto, il est très bien fait.
En changent le gouverneur de mon kernel j'ai gagné en fluidité et en puissance.
 
S

Samoth59

Membre
Inscrit
8 Décembre 2012
Messages
13
Points
0
#8
Je suis en train de m'intéresser aux gouverneurs et il y a une info que je n'arrive pas à trouver sur le net.

Si par exemple pour un gouverneur OnDemand, on définit un seuil à 50% d'utilisation du processeur, lorsque mon processeur sera utilisé à 50% et plus, la fréquence de mon processeur augmentera à son maximum puis diminuera pour répondre aux besoins réels. Mais comment le gouverneur réagit lorsque le processeur est utilisé à une valeur inférieure au seuil ?

J'ai l'impression que la fréquence augmente alors par palier en partant de la fréquence minimale ? Ou alors, le CPU resterait à sa fréquence minimale jusqu'à un certain pourcentage d'utilisation, à partir duquel il passerait de sa fréquence min à sa fréquence max ?

Merci !!
 
Joe

Joe

Moderateur Global
Inscrit
23 Juillet 2011
Messages
17 562
Points
0
#9
Salut,

Par hasard tu ne confondrais pas le "seuil d'utilisation du processeur" et la priorité d'un profil ?
 
totochigna

totochigna

Membres VIP
Inscrit
19 Novembre 2012
Messages
471
Points
0
#10
Lequel me recommenderiez-vous? En sachant que je voudrais de l'economie de batterie mais sans bug sur jetpack joyride.
J'utilisais auparavant le scary.
Perso, lagfree fait freezer et rebooter mon galaxy note.
Avant tout, merci pour ce post!
Quand je pense à ces gens qui ont appelé un gouverneur smartass... :lol:
Je ferais bigass pourquoi pas :mrgreen:
 
totochigna

totochigna

Membres VIP
Inscrit
19 Novembre 2012
Messages
471
Points
0
#12
En fait j'ai un p'tit problème maistout petit, petit.[/size]
Depuis que je suis à cm10, setcpu me propose que interactive, userspace, ondemand, performance et powersave.
Donc, je ne sais plus le quel mettre, scary était très bien mais je pense que, vu ton message, smartassv2 est meilleur, mais, aucun moyen de le mettre, ni par no frill cpu control ni par antutu cpu control :( :cry: :x :twisted: :|
 
Joe

Joe

Moderateur Global
Inscrit
23 Juillet 2011
Messages
17 562
Points
0
#13
Salut,

Tu devrais vérifier si des kernels custom compatibles avec CyanogenMod10 et comprenant le SmartassV2 sont disponibles pour ton téléphone :)
 
totochigna

totochigna

Membres VIP
Inscrit
19 Novembre 2012
Messages
471
Points
0
#14
Joe a dit:
Salut,

Tu devrais vérifier si des kernels custom compatibles avec CyanogenMod10 et comprenant le SmartassV2 sont disponibles pour ton téléphone :)
Ah mais oui! (aaaaaaleluia :lol: ) J'avais sur ICS le kernel HydraCore, et c'est là que j'avais Scary mais... je ne suis pas sur qu'il y aie petit ... (oups! j'avais oublié que il pouvais y avoir des enfants dans la salle :D ) euh... smartass. Je vous tient au courant.
Edit: Je vais l'installer mais avant, à chaque fois que j'installe une màj cm10.1 (ce que je fais chaque jour) est-ce que le kernel se dera la malle après chaque màj? Merci d'avance pour vos réponses!
 
G

Graaor

Membre
Inscrit
29 Juillet 2011
Messages
17
Points
0
#15
Bonsoir, j'aimerais savoir quelle est la différence entre un gouverneur et un kernel ?
Je suis sur un xpéria go et j'ai des lag sur jetpack joyride et rope escape quand je ne suis pas en "performance" avec antutu.
Le ondemand n'y change rien, ça lag :(

merci d'avance
 
Joe

Joe

Moderateur Global
Inscrit
23 Juillet 2011
Messages
17 562
Points
0
#16
Salut,

Le kernel est une partie du micrologiciel du téléphone, et les gouverneurs dépendent du kernel (n'hésite pas à lire une partie du guide Sony dans ma signature, tu y verras plus clair) ^^

Concernant les lags sur ce jeu, assure-toi qu'il est à jour. Si c'est bien le cas et que les ralentissements sont dérangeants je t'invite à ouvrir un nouveau topic.

@ Toto: Oui le kernel sera conservé après une mise à jour en OTA de CyanogenMod :)
 
G

Graaor

Membre
Inscrit
29 Juillet 2011
Messages
17
Points
0
#17
Merci pour la réponse rapide, le probème venait de la rom officielle I(CS 4.0.4) du Xpéria Go qui sent des pieds, je suis passé à une custom et tout fonctionne NICKEL même en économie n'énergie, c'est le jour et la nuit ces roms customs ! :D

Je retourne en profiter, à la prochaine et encore merci :mrgreen:
 
Joe

Joe

Moderateur Global
Inscrit
23 Juillet 2011
Messages
17 562
Points
0
#18
Oui les performances sont bien mieux sous rom custom :)

Y'a pas de quoi !
 
Jush

Jush

Membre
Inscrit
18 Janvier 2012
Messages
113
Points
0
#19
Salut Joe,

Je viens de passer sous ics et un nouveau gouverneur est apparu, il s'appelle tout bêtement "galaxyics", donc je suppose que c'est un gouverneur dédié à ics mais si tu avais des infos dessus ce serait cool.
 

Sujets en relation

Haut Bas