Можно ли настроить настраиваемое дросселирование процессора в Chrome DevTools?
Я использую Google Chrome 63.
На вкладке " Производительность " DevTools есть три параметра регулирования дросселирования: "Без дросселирования", "4-кратное замедление" и "6-кратное замедление".
Можно ли настроить настраиваемое дросселирование, например "20-кратное замедление"? Это может быть с помощью установки какого - то флага в chrome.exe файла или программно с помощью библиотеки NodeJS.
Я обнаружил, что библиотека Lighthouse имеет полезную функцию, но если я изменю значение по умолчанию внутри нее (CPU_THROTTLE_METRICS, похоже, будет равно 4) от 4 до (например) 20 и запустит ее, как я могу быть уверен, что она на самом деле отстает на 20 раз вниз?
Кроме того, я хотел бы знать, можно ли подобным образом сделать такое симулированное "замедление" на GPU?
Спасибо за любой совет.
Ответы
Ответ 1
Lighthouse использует команду Emulation.setCPUThrottlingRate
в протоколе Chrome DevTools:
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.
Надеюсь это поможет.