web-dev-qa-db-fra.com

Est-il possible de définir une limitation du processeur personnalisée dans Chrome DevTools?

J'utilise Google Chrome 63.

Dans DevTools dans l'onglet Performance , il y a trois paramètres de limitation du processeur: "Pas de limitation", "Ralentissement 4x" et "Ralentissement 6x".

Est-il possible de définir une limitation personnalisée, par exemple "20x ralentissement"? Cela peut être via la définition d'un indicateur dans le fichier chrome.exe ou par programmation via la bibliothèque NodeJS.

J'ai trouvé que la bibliothèque Lighthouse a une sorte de fonction utile mais si je change la valeur par défaut à l'intérieur ( CPU_THROTTLE_METRICS semble être égal à 4) de 4 à (par exemple) 20 et l'exécuter, comment puis-je être sûr qu'il est vraiment 20x ralenti?

Aussi, je voudrais savoir, s'il est possible de faire un tel "ralentissement" simulé sur le GPU de la même manière?

Merci pour tout conseil.

18
Chris92

Le phare utilise Emulation.setCPUThrottlingRate commande dans le Chrome DevTools Protocol:

https://chromedevtools.github.io/devtools-protocol/tot/Emulation#method-setCPUThrottlingRate

Vous pouvez surveiller le protocole de cette façon:

https://umaar.com/dev-tips/166-protocol-monitor/

Vous verrez cette commande dans le journal de protocole lorsque vous basculez avec le paramètre de limitation dans le panneau de performances.

Si vous demandez comment être sûr que cela fonctionne - voici l'implémentation du code source de Chromium:

https://github.com/chromium/chromium/blob/master/third_party/blink/renderer/platform/scheduler/util/thread_cpu_throttler.h#L21

// This class is used to slow down the main thread for // inspector "cpu throttling". It does it by spawning an // additional thread which frequently interrupts main thread // and sleeps.

J'espère que cela t'aides.

3
Max

Sous Linux, vous pouvez utiliser cpulimit

Sudo apt-get install cpulimit
# -l 5 means 5% , or 20x slowdown
cpulimit -l 5 chromium-browser
0
cadoman