Jump to content

[WIKI] OverClock et underVolt


Recommended Posts

Bonjour je crée se poste pour pouvoirs échanger sur tout se qui concerne les modifications de performance de votre périphérique.

J’éditerai pour noter les techniques et connaissance de chaque afin que se soit plus facile de s'y retrouver pour les nouveaux.

Qu'est se que l'OverClock ?

La puissance d'un microprocesseur se compte en Hertz (Hz)

Overclocker sont téléphone consiste a monter au dessus que la valeur limite.

Sur la fiche technique du mini pro il y est ecrit 1gHz, le mien est a 1.2 donc overclocké.

L'UnderClock est basé sur le même principe mais il consiste a diminuer la puissance.

Permet de ne pas dépasser certaine fréquences.

Très pratique pour l'économies de batterie je vous conseil le programme setCpu, gratuit pour les membres de xda.

Petit tuto de forum htc pour la création de profile avec setCpu.

Profile:

Les profils vous permettent de configurer SetCPU pour mettre la vitesse d'UC sous certaines conditions.

C'est très utile si vous souhaitez gérer des économies de batterie.

Pour faire des profils, vérifiez le bouton "Enable" dans Profils et presser "Add Profile" pour ajouter votre premier profil.

Les profils seront activés si la condition que vous mettez dans le profil est respectée. Par exemple, si vous choisissez "Screen Off," le profil sera actif quand l'écran est éteint. Si aucun profil n'est selectionné, SetCPU retourne au profil par défaut indiqué à l'écran principal. Plusieurs conditions sont disponibles :

  • Charging/Full: Quand le téléphone charge (pas sur prise) et quand la batterie est pleine.
  • Charging AC/Full: Quand le téléphone charge avec une prise murale (AC l'adaptateur) et quand la batterie est pleine
  • Charging USB/Full: Quand le téléphone charge avec une prise d'un ordinateur (USB le port) et quand la batterie est pleine.
  • Screen Off. Comment dire. L'écran est eteint
  • Temp > . Pour mettre un profil en fonction de la température de la batterie. A compléter avec d'autres profils.
  • CPU Temp. Pour mettre un profil en fonction de la température du CPU. Très utile pour ne pas avoir de figeage car le CPU serait trop chaud. A compléter avec d'autre profile.
  • Battery. le niveau de charge de la batterie. Condition très intéressante pour la gestion de la batterie. Plus on a de batterie, et plus on met de puissance sur le CPU. A l'inverse, on met moins de CPU vers la fin de la batterie.

La priorité permet de gérer quel profil sera utilisé dans les cas ou plusieurs conditions seraient respectées. Par exemple,

Battery > 80 % : performance à fond , priority sur 60

Temp < 38 ) : Performance faible, priority sur 80

--> Si le télephone chauffe, on baisse l’utilisation du CPU ... Pratique !!

Qu'est se que l'UnderVolt

Le processeur a besoin Energie, en modifiant le voltage on modifie la quantité Energie.

L'Undervolt consiste donc a diminuer la quantité Energie pour une fréquence donnée.

Voici la notation la plus utilisé "frequence @ voltage"

La valeur par defaut est 132 @ 900 je l'ai undervolté a 132 @ 800.

Attention très souvent les gens utilisent le mot UnderVolt en parlant d'underclocking.

Je vous conseil le programme setXperia, vous devrez d'abord modifier votre Kernel.

http://forum.frandro...age-sk17i-st15/

Attention: une haute fréquence se engendre une grande quantité energie consommé, par conséquent une chauffe plus intenses, la limite de votre overclock sera la limité de température accepter par votre processeur.

Plus on overclock, plus on undervolt dans la limite du possible.

Risque de détruire le cerveau de votre androphone !

Pour quoi tout les processeurs ne sont pas identique ?

Le procédés de fabrication des processeurs est assez aléatoire, certain sorte bon, d'autre moins.

Il fabrique un type de processeur, a la sortie il teste sa puissance maximum puis le range dans le gamme correspondante.

C'est pourquoi le voltage n'est pas optimale tout dépend de la qualité du proc.

Tout est question de chance.

Les scaling( ou governors):

Ils permettent de modifier la politique de gestion des fréquence du processeur.

Le but étant d'augmenter l'autonomie ou les performances.

Voici la majorité:

Merci a Mikiya de la section SGS II

1) Les Governors

Le "Governor" (gouverneur en Anglais, pour les anglophobes) est un module inclus dans le kernel qui s'occupe de gérer la fréquence du processeur en fonction des activités du smartphone ou de la tablette.

C'est lui qui va faire augmenter la fréquence du processeur quand vous lancez un jeu par exemple, pour vous permettre de jouer confortablement sans lag, et lui encore qui va faire baisser la fréquence de votre CPU quand vous éteignez l'écran de votre appareil, ou que vous en vous en servez pas.

Pour résumer, le Governor s'occupe d'équilibrer les performances et l'autonomie, en temps réel, selon les tâches que vous effectuez avec votre Android.

1. Ondemand

2. Ondemandx

3. Conservative

4. Interactive

5. InteractiveX

6. Lulzactive (v1 et v2)

7. Smartass

8. SmartassV2

9. Intellidemand

10. Lazy

11. Lagfree

12. Lionheart

13. LionheartX

14. Brazilianwax

15. SavagedZen

16. Userspace

17. Powersave

18. Performance

1) Ondemand

Gouverneur par défaut la plupart du temps. Le but de ce gouverneur est de fournir en priorité de la fluidité, dès qu’une activité CPU est détectée, il passe à la fréquence max. Il considère le temps d’utilisation CPU comme critère de choix. Il passe à la fréquence maximale quand le CPU travail, et réduit progressivement quand la charge diminue. Même si d’apparence cela semble un comportement judicieux, cela ne l’est pas en terme de batterie (et parfois même en terme de performance selon ses réglages) . En effet, il se base sur un échantillonnage à un instant pour choisir la prochaine fréquence à définir, or cet instant ne reflète pas forcement une tendance générale. On peut donc souvent se retrouver à alterner sans arrêt fréquence minimale et fréquence maximale, ce qui évidemment consomme.

2) OndemandX

Similaire au Ondemand mais avec une notion de « veille/éveil ». Il est supposé plus économe que le Ondemand, car quand l’écran est éteint, il limite la fréquence max (500MHz). Son support dépend du CPU et de sa capacité à varier rapidement en fréquence. Contrairement aux autres gouverneurs, les Ondemand/OndemandX sont relativement dépendants de l’ordonnanceur de mémoire choisi, ils se marient bien avec le SIO.

3) Conservative

Proche du Ondemand mais celui-ci ajuste dynamiquement la fréquence par étape, il ne monte pas brusquement à la fréquence maximale. Il augmente progressivement la fréquence du CPU par palier en fonction de l’utilisation du processeur, et fixe la fréquence processeur minimale quand il est en veille.

Pour les experts : Le paramètre sampling_down_factor est un mulitplicateur negatif du paramètre sampling_rate, pour réduire la fréquence d’échantillonnage de l’utilisation CPU. Ainsi, si le sampling_down_factor est fixé à 2 et le sampling_rate, le gouverneur évaluera l’utilisation CPU toutes les 40 000 microsecondes.

4) Interactive

Cette fois c’est l’inverse, il s’agit d’une version plus rapide du Ondemand. Objectif : plus rapide donc moins de consommation. Interactive est conçu pour être sensible à la latence, s’adapter à la charge de travail. Au lieu d’échantillonner à intervalles réguliers comme le Ondemand, il détermine la façon de graduer le CPU en sortant de veille. Ses avantages sont :

  • 1) Une hausse plus cohérente car contrairement aux autres gouverneurs qui basent leur évaluation sur la queue de processus en attente de CPU, Interactive lui se base sur une notion de temps en plus, ce qui est plus représentatif de la charge processeur.

  • 2) Une priorité à la hausse de fréquence CPU, donnant un avantage de performance aux tâches à faire plutôt que de baser sa planification de hausse uniquement une fois qu’un manque de performances se fait ressentir.

Le gouverneur Interactive est une sorte de Ondemand plus intelligent et stable. Au lieu d’échantillonner tous les X millisecondes, ce qui peut parfois causer des manques de puissances entre deux échantillonnages, Interactive va regarder de suite en sortie de veille si le CPU a besoin d’être augmenté. Lorsque le CPU est réveillé, il définit un minuteur, qui doit s’activer dans 1 ou 2 périodes. Si le CPU est très chargé entre le début et la fin du minuteur,

alors c’est qu’il doit être rehaussé, et Interactive le fixe à la fréquence maximum.

5) InteractiveX

Similaire à la différence Ondemand/ OndemandX : cela ajoute une notion de veille pour gagner en batterie.

6) Lulzactive

Nouveau gouverneur trouvé par Tegrak, basé sur Interactive et Smartass (voir après), il est un des favoris actuel. Il y a eu 2 versions :

  • V1 : Quand la charge de travail est supérieure ou égale à 60% pour une fréquence donnée, le CPU passe à la fréquence supérieure. Quand elle est inférieure à 60%, il passe à celle en dessous. Quand l’écran est éteint, la fréquence est bloquée au minimum.

  • V2 : A ce comportement, il est rajouté 3 paramètres configurables par l’utilisateur, ce qui permet plus d’adaptation.

Pour les experts : ces variables sont inc_cpu_load, pump_up_step et pump_down_step. Quand la charge est supérieure ou égale à inc_cpu_load, le gouverneur augmente le cpu de pump_up_step paliers, et quand elle est inférieure, il diminue de pump_down_step.

7) Smartass

Issu du travail de réécriture du gouverneur Interactive par Erasmux. Son objectif était de maximiser la batterie sans compromis de performances. Cependant, il n’est pas aussi économe que smartassv2 car le minimum quand l’écran est allumé est plus grand que les fréquences pour l’écran éteint. De plus smartass va grimper à la fréquence maximale trop souvent aussi.

8) SmartassV2

Un autre favori actuel. Le gouverneur vise une « fréquence idéale » , il va grimper rapidement à celle-ci et ensuite être plus souple autours. Il définit des fréquences idéales differentes seon que l’écran soit allumé ou pas (awake_ideal_freq et sleep_ideal_freq). Quand on éteint l’écran il chute rapidement à sleep_ideal_freq, et quand on le rallume il grimpe vite à awake_ideal_freq (500MHz). Contrairement à smartassv1 , il n’y a ici pas de limite maximale quand l’écran est éteint, pour permettre au CPU d’être utilisé à fond même écran éteint. Ce gouverneur est un bon compromis entre performance et autonomie.

9) Intellidemand

Encore un dérivé de Ondemand. Cette fois, c’est le GPU qui sert de référence. Quand le GPU est chargé, cela traduit un usage lourd, donc il agit comme le Ondemand classique et grimpe au maximum. Quand le GPU est au repos, Intellidemand fixe une fréquence maximale (selon votre appareil et kernel) pour économiser la batterie. C’est le mode explorateur. Les décisions de montée ou descentes en fréquence se base sur le % de temps de repos du CPU. Quand l’écran est éteint, la fréquence maximale n’est pas utilisée.

10) Lazy

Le but de ce gouverneur, écrit par Ezekeel et basé sur le Ondemand, est d’éliminer les changements constants de fréquences qu’introduit le Ondemand. Pour cela, il définit un temps min_time_state qui fixe le temps minimum pour le CPU à une fréquence avant de changer. Lazy va vérifier le CPU plus souvent mais changer moins souvent de fréquences que Ondemand. De plus Lazy définit screenoff_maxfreq qui, si elle est activée, fixe la fréquence à cette fréquence quand l‘écran est éteint.

11) Lagfree

Un autre de la famille Ondemand (quel succès ! ^^). La principale différence concerne l’ économie de batterie. La fréquence CPU est lentement augmentée et diminuée, contrairement_à l’Ondemand qui saute à 100% souvent. Lagfree ne saute aucun pallier quand il augmente la fréquence (ce qui peut poser problème en cas de besoin soudain de puissance par exemple il peut apparaitre un léger lag à l’ouverture d’une vidéo).

12) Lionheart

Il s’agit d’un gouverneur de la famille Conservative, et basé sur les sources de l’update3 de samsung. Les tweaks viennt de Knzo et Morfic et l’idée de Netarchy. Au final, il se rapproche plus du gouverneur Performance, au détriment de la batterie car les changements sont agressifs.

Pour les experts : Pour tester le Lionheart depuis le Conservative, réglez : sampling_rate:10000 or 20000 or 50000 (10000 peut être instable) up_threshold:60 down_threshold:30 freq_step:5 Le Lionheart se marie bien avec l’ordonnanceur Deadline. Quand il s’agit de fluidité, et que l’on néglige la consommation de la batterie, un gouverneur Conservative bien réglé est plus efficace qu’un Ondemand bien réglé.

13) LionheartX

basé sur le Lionheart mais possède quelques changements et introduit un mode Suspendu, issus du Smartass.

14) Brazilianwax

Ressemble au SmartassV2 mais plus agressif donc plus performant mais moins économe.

15) SavagedZen

Aussi issu du SmartassV2 mais mieux équilibré entre performances et batterie que le Brazilianwax

16) Userspace

C’est l’utilisateur qui définit les fréquences.

17) Powersave

Bloque à la fréquence minimum (inutilisable en écran allumé, et même risqué en écran éteint)

18) Performance

Bloque à la fréquence maximale, uniquement pour les benchmark car consomme et chauffe énormément !

avec setCpu il est aussi possible de créer sont propre scaling.

Ca permet de pouvoirs avoir sont propre compromis entre lag et perf :P

Merci a l’équipe de forum htc. voir la section paramètres avancés.

http://www.forum-htc...-gratuit-payant

paramètres avancés

Advanced Tab:

Le menu Avancé vous permet d'aller plus loin dans les paramètres du mode gouverneur du CPU. Il est seulement activé quand vous choisissez conservative .

* Sampling Rate: ntervalle (en micro-secondes) auquel le governor fera des mises à jour. Quand cela arrive, le governor décidera tout seul s'il faut augmenter ou diminuer le CPU.

* Up Threshold - Défini un pourcentage de 1 % à 100 %. Quand la charge du CPU atteint ce point, le governor augmentera proportionnellement le CPU.

* Down Threshold (conservative only) - Défini un pourcentage de 1 % à 100 %. Quand la charge de CPU atteint ce point, le governor réduira le CPU.

* Ignore Nice Load - si cette valeur est "1", le système ignorera des processus "Nice" en décidant d'augmenter ou diminuer le CPU.

* Powersave Bias (ondemand only) : En mettant cette valeur, on influence le governor vers des fréquences inférieures. C'est un pourcentage, où 1000 est 100 %, 100 est 10 % et 0 est 0 %. Le gouverneur ondemand demander des valeurs moins importantes que celle prévues

* Freq Step (conservative only): Défini de combien (comme un pourcentage de la vitesse d'UC maximale) le gouvernor augmentera la vitesse d'UC de chaque fois la charge d'UC atteint le Seuil max.

Choisissez "Set on Boot" pour appliquer les modifs quand le téléphone démarre.

Les ordonnances de mémoire (i/0 scheduler )

Selon sont réglage il influera sur la façon dont le processeur gère les accès mémoire,les ordres d’exécutions des processus , lecture, écriture.

Les ordonnance de mémoires doivent veiller a plusieurs aspect

Minimiser les temps de latences de recherche sur le disque

  • Donner la priorité aux processus interactifs par rapport aux processus de fonds
  • Allouer de la bande passante disque pour les applications en cours
  • Garantir des délais pour certaines demandes

Et quels en sont les objectifs pour bien choisir ?

Il doit viser 3 optimisations :

  • Equité : permettre à tous d’accéder à la mémoire
  • Performance : Optimiser les lecture/écritures en fonction du disque
  • « Temps réel » : avoir les délais les plus petits possibles pour les requêtes

Ces 3 optimisations entre souvent en conflit c’est pourquoi, comme vous verrez par la suite, aucun n’est parfait,

tout dépend des priorités.

Les des ordonnances

NOOP : Ajoute chaque requêtes les unes après les autres, premier arrivé premier servi, et implémente

la fusion de requêtes. Il peut sembler trivial mais, bien qu’il soit inadapté sur un disque dur, avec des

mouvements mécaniques importants à prendre en compte, dans le cas d’un stockage flash où l’ordre

importe peu, il est adapté car simple pour le CPU, pas couteux (pas de réorganisation à faire).

- Léger en CPU donc en batterie

- Adapté au stockage flash de nos téléphones

- Bonne performance sur la base de données

- Réduire le nombre de cycle CPU fait chuter

les performances

Deadline : Son but est de minimiser la latence d’écriture ou l’attente d’une requête. Pour cela il utilise

une politique dite de « Round Robin » pour gérer équitablement plusieurs requêtes, ordonnées de

façon agressive dans 5 files d’attentes.

- Proche d’un vrai ordonnanceur «temps réel»

- Réduit efficacement la latence pour une requête de lecture/écriture

- Le meilleur pour gérer les bases de données

- Couts facilement calculable

- Adapté au mémoire flash

- En cas de grosse charge de travail, on ne peut

plus savoir quels processus n’auront pas accès

à la mémoire à temps

CFQ : Il s’agit de l’ordonnanceur le plus commun dans les distributions Linux. Il maintient une file

d’attente synchrone par processus, et essaye de distribuer également les accès mémoire entre les files

d’attentes des processus. Le « time slice » (temps d’allocution maximum) de chaque file dépend du

parent. Il existe une V2 du CFQ apporte quelques amélioration de temps de réponse et corrige quelques

problèmes de famines d’accès mémoire.

- Performance de lecture/écriture équilibrée

- Facile à personnaliser

- Excellent dans les environnements multicoeurs

- Très bon système pour les bases de données

- Certains processus très long en accès mémoires (comme le scanner média au démarrage) peuvent être rallongés du fait du principe d’équité, ils n’ont pas de priorités

- Les délais « au pire » sont moins bons qu’avec les autres selon le nombre de tâches du système

BFQ : Plutôt que de compter sur des temps d’allocutions maximums (le time slice), il compte sur une notion de « budget » par processus, qui sont en fait le nombre de secteurs de disque que le processus accède. Ce budget peut varier selon le comportement du processus.

- Très bon pour les transferts USB

- Très bon pour la gestions des videos (HD et enregistrements) car il a un « pire cas » meilleur que les autres

- Précis

- Rempli 30% de plus de requêtes que le CFQ sur la plupart des charges

- Mauvais en benchmark (ça à la limite …..)

- La latence et des lag peuvent apparaitre si un

budget élevé est attribué à un processus

SIO : Ordonnanceur simple qui a pour but de remplir les requêtes mémoire avec une faible latence et

un cout système minimum. Il n’y a pas de file par priorités, juste le principe de fusion des requêtes. SIO

est un mix entre le NOOP et le Deadline, et il ne réorganise pas les requêtes.

- Simple et fiable

- Minimise les « famines » d’accès mémoire

- Les lectures sont plus lentes qu’avec les autres ordonnanceurs sur les mémoires flash

VR : Contrairement aux autres, il ne traite pas séparément les requêtes synchrones et asynchrones, à la

place une limite temporelle est imposée par équité. Il choisit le prochain accès en fonction des distances

par rapport à la précédente.

- Très bon en benchamark car dans les

situations propices c’est le mieux

- Performances fluctuantes et globalement

plutôt moyennes

- Le moins fiable

Anticipatory : Basé sur 2 faits :

a. Les accès disques sont très lents

b. Les écritures arrivent aléatoirement, mais il y a toujours des lectures à faire

En conséquences, il rend prioritaire les lectures sur les écritures et anticipe les opérations de lectures

synchrones. 11

- Les requêtes de lecture ne sont jamais en

manque d’accès

- Aussi bon que NOOP en performance de

lecture sur les mémoires flash

- L’anticipation n’est pas toujours fiable

- Réduit les performances d’écriture sur les

disques très rapides

Merci a MIKIYA de la section GS2 pour sont tres beau travail d'ou j'ai tiré les informations.

http://forum.frandro...s/#entry1917194

Il n’y a pas de « meilleur » ordonnanceur. Ça dépend de vos usages et des applications à faire tourner,

chacune traitant la mémoire à sa façon. Cependant si on se place pour la téléphonie, donc en terme de

batterie, stabilité, fiabilité et faible latence, sur un système flash on peut dégager un classement général

de la forme :

SIO >= NOOP > Deadline > VR > BFQ > CFQ

TOPIC EN CONSTRUCTION

Edited by pommefrite
Link to comment
Share on other sites

Le governor a choisir dépendra de tes besoins.

J'utilise conservative car il est personnalisable, ca peu même devenir un mode de performance ^^.

Voici mon réglages attention, il est un peu lent a la détentes sur le déverrouillage et les 2s qui s'en suivent , mais une fois lancé il n'y a pas de problème et surtout il est bon pour l’économie de batterie.

Ce principalement car il utilise équitablement a peu prés toutes le fréquences.

https://www.dropbox....shot_000002.png (ses réglages dans setCpu)

https://www.dropbox.com/s/3zs3fz6u9r5bdk4/shot_000004.png (Voici les profiles) édites

Il est 15h30 j'ai synchronisé mes mails via wifi fais des transfert sur la drop box la batterie est a 85%.

Hier j'ai mis l'engin a chargé a 1H du matin il me restait entre 65 et 68% de batterie.

(Avec wifi, un appels de 5min, quelque sms.

Il est overclocké a 1.2 Ghz mais il est sur cette fréquence que 2.6% du temps se qui est autant que 36 et 46MHz.

D’après setXperia je consomme entre 0,34 et 0,54% de batterie par heure en veille

Quand j'aurais le temps je modifierai les réglages via le init.d pour bien peaufiné le mode.

Si tu n'a pas envie de te prendre la tète j'ai trouvé le governor savageZen pas mal du tout entre compromis fluidité et économie.

Le scheduleur est en noop

Si ca ne te dit rien regarde le chapitre ordonnance de mémoire.

http://yoann-tritz.f...tuto_kernel.pdf

A tu modifié tes voltages ? voila les mien si ca t'intéresse. (attention si tu descend trop bas tu risque d'avoir des freez.)

https://www.dropbox....shot_000005.png

https://www.dropbox....shot_000006.png

C'est vrais que smartassV2 a pas l'air mal.

Ca donne quoi sur ta batterie ?

Edited by pommefrite
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...