#google-chrome #video #google-chrome-devtools #chromium #headless
#google-chrome #Видео #google-chrome-devtools #chromium #безголовый
Вопрос:
Я боролся с безголовой производительностью Chromium. Мой план состоит в том, чтобы захватывать загруженный веб-сайт со скоростью не менее 30 кадров в секунду (или даже выше). Однако с увеличением разрешения частота возвращаемых кадров падает.
Для разрешения окна 720p я могу легко достичь ~ 35 кадров в секунду всякий раз, когда меняю разрешение на 1080p, тогда количество кадров снижается до ~ 20 кадров в секунду или даже ниже. Я запускаю chromium в Google Cloud Compute Engine на компьютере с 30 процессорами, который вообще не используется в полной мере.
Кто-нибудь из вас сталкивался с подобной проблемой?
Некоторые из моих настроек:
- Для захвата кадров приложение использует событие Chrome devtools «Page.screencastFrame».
- Облачный вычислительный движок Google — 30 процессоров, 30 ГБ памяти
- Флаги:
-disable-translate --disable-extensions --disable-background-networking --safebrowsing-disable-auto-update --disable-sync --metrics-recording-only --disable-default-apps --no-first-run --remote-debugging-port=9222 --user-data-dir=/var/app/CHROME --disable-setuid-sandbox --window-size=1920,1080 --disable-gpu --hide-scrollbars --user-agent=true --remote-debugging-address=0.0.0.0 --no-sandbox --no-zygote --headless --autoplay-policy=no-user-gesture-required --disable-notifications --disable-logging --disable-permissions-api
Комментарии:
1. Та же проблема. Безголовый Chrome в контейнере занимает 117 секунд, за пределами 8 секунд.
2. @MortenB вы решили проблему?
Ответ №1:
Я обнаружил, что если я запускал свои контейнеры в режиме ожидания, они работали быстрее, переход от установки Gitlab-CI к машине с гораздо более быстрыми дисками улучшил это.
Размер контейнера имеет значение (alpine), также у вашего контейнерного хоста есть очень быстрые твердотельные накопители. Запустив контейнер alpine версии v3.10 с chromium версии 77 на новой установке, я смог сократить время с 117 секунд до 43 секунд, но Alpine не настолько гибкий, и если вам нужно скомпилировать материал, он становится почти таким же большим, как контейнер ubuntu.
Комментарии:
1. не могли бы вы записать более подробно о «периоде молчания», что вы под этим подразумеваете?
2. @mbutan: период молчания означает лишь небольшую нагрузку на систему, больше ресурсов доступно для моего контейнера. Теперь я использую chrome v85 с драйверами v85, и все стало намного лучше.
3. @MorenB можете ли вы достичь скорости 30 кадров в секунду для контента 1080p? Я все еще испытываю трудности с производительностью скриншотов, даже если в системе много свободных ресурсов. Могу ли я спросить у вас спецификацию системы и какой результат вы получите при этом?
4. @mbutan: Я пробовал локально на своем твердотельном накопителе Ryzen7 с разрешением 2700x / 16 ГБ / 4×250 ГБ, и я получаю около 20 кадров в секунду при размере окна 1920×1080. В безголовом режиме используется только одно ядро, я полагаю, что оно привязано к процессору.
5. @MorenB именно это каким-то образом ограничено chromium, потому что ресурсы процессора на моем компьютере тоже свободны.