是否可以在Chrome DevTools中设置自定义CPU限制?

时间:2018-02-12 17:16:34

标签: google-chrome-devtools cpu throttling

我正在使用Google Chrome 63。

性能标签中的DevTools中,有三种CPU限制设置:"无限制"," 4x减速"和#34; 6倍减速"。

是否可以设置自定义限制,例如" 20x减速"?可以通过在 chrome.exe 文件中设置一些标志或通过NodeJS库以编程方式设置。

我发现Lighthouse库有helpful function种,但如果我将其中的默认值( CPU_THROTTLE_METRICS 似乎等于4)从4更改为(例如)20并且运行它,我怎么能确定它真的减慢了20倍?

另外,我想知道,如果有可能做这样的模拟"减速"以类似的方式到GPU?

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

Lighthouse在Chrome DevTools协议中使用Emulation.setCPUThrottlingRate命令:

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

您可以通过以下方式监视协议:

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

使用性能面板中的节流设置进行切换时,您会在协议日志中看到此命令。

如果您要问如何确定它是否有效-这是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.

希望这会有所帮助。

答案 1 :(得分:0)

在Linux上,您可以使用cpulimit

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