создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

Ускорение Chromium

Ускорить браузер Chromium (Opera, Vivaldi и др.) можно за счет включения возможностей по вынесу вычислений с процессора на видеокарту (хромиум станет работать быстрее).

Заходим в chrome://gpu.

Зеленая надпись "Hardware accelerated" - данная функция использует аппаратное ускорение за счет выноса вычислений на видеокарту, а "Enabled" - программный алгоритм включен.

Заходим в chrome://flags. Здесь производится главная часть настройки.

Внимание на "#ignore-gpu-blacklist".

Далее все опции из этого списка именуются именно так (можно поиском найти эту настройку по названию).

Если в chrome://gpu параметр желтый или красный, в chrome://flags изменяем соответствующую настройку (внимание, некоторые настройки могут завалить браузер).

Canvas - аппаратное ускорение отрисовки канваса. В chrome://flags это #ignore-gpu-blacklist. Отключается включением опции #disable-accelerated-2d-canvas.

CheckerImaging - растеризация картинки убрана из зависимости от растеризации остальной области, с которой связана картинка. Это позволяет отрисовывать веб-страницу, не дожидая окончания обработки картинки.

Это параметр командной строки --enable-features="CheckerImaging".

Flash, Flash Stage3D, Flash Stage3D, Flash Stage3D Baseline profile - аппаратное ускорение декодирования флеш-контента. Тоже #ignore-gpu-blacklist.

Compositing - аппаратное ускорение наложения слоев. Тоже #ignore-gpu-blacklist.

Multiple Raster Threads - распараллеливание на несколько потоков процесса растеризации векторных элементов веб-страницы. #enable-gpu-rasterization -> Force-enabled for all layers / Принудительно для всех слоев. Включение этой опции поможет, если при просмотре сайтов (видео) моргает экран.

Native GpuMemoryBuffers - исключается дополнительный буфер при копировании элементов между CPU и GPU, по умолчанию выключено. Это параметр командной строки --enable-native-gpu-memory-buffers.

Rasterization - применение видеокарты для растеризации. #enable-gpu-rasterization.

Video Decode - аппаратное ускорение декодирования видео (при просмотре видео декодируется).

Video Encode - аналогично кодирование. Входит в #ignore-gpu-blacklist.

WebGL, WebGL2 - поддержка рендеринга на видеокарте набора инструкций OpenGL, входящих в стандарт WebGL; автоматически выключается, если драйвер видеокарты их не поддерживает. Входит в #ignore-gpu-blacklist.

Опция #enable-zero-copy очень специфична для конкретного железа.

#enable-tcp-fast-open - TCP Fast Open, ускоряет работу сетевого стека (особенность Linux, на Windows и MacOS недоступно).

#expensive-background-timer-throttling - ограничивает максимальную нагрузку на процессор фоновыми вкладками (т.е. не та вкладка, с которой вы сейчас работаете) максимум до 1% (не уместно, если в фоне запущена торговля на бирже).

#v8-cache-options - в режиме "Cache V8 compiler data" V8 лучше кеширует javascript и не компилирует его заново. V8 - это движок обработки (компиляции) javascript в Chromium (компиляция javascript создает основную нагрузку на процессор при работе браузера).

#v8-cache-strategies-for-cache-storage - можно включить агрессивный кеш V8.

#shared-array-buffer - работа с памятью в javascript.

#enable-simple-cache-backend -> Enabled/Включено - работаем с файлами непосредственно внутри файловой системы, возлагая большую часть работы на операционную систему и уменьшая нагрузку на ввод-вывод с диска (уменьшаем количество переключений контекста, что ускорит работу).

Линукс. Закрываем все открытые копии Chromium, открываем терминал и выполняем вот такую команду:

$ chromium-browser --enable-native-gpu-memory-buffers --enable-features="CheckerImaging"

В chrome://gpu видим, как стали зелеными пункты CheckerImaging и Native GpuMemoryBuffers (либо браузер вообще не запустился). Каждый раз запускать браузер через терминал неудобно, поэтому открываем графический редактор desktop-файлов и в нем дописываем в команду запуска браузера нужные нам параметры (обратите внимание, что на конце есть %U, оно заменяется на ссылку или путь к файлу, который нужно открыть, так что его не нужно удалять. В KDE это kmenuedit (вызов либо через терминал командой kmenuedit, либо подвести курсор к кнопке вызова меню приложений и нажать на правую кнопку мыши 1 раз, затем левой 1 раз нажать на «Редактор меню» в появившемся списке), на остальных DE (XFCE, GNOME, Budgie, LXDE, LXQt и др.) это menulibre.

Для юникса можно скопировать: /usr/share/applications/chromium-browser.desktop в ~/.local/share/applications/chromium-browser.desktop и отредактировать параметр Exec, получится то же самое:

Далее нужно повторно вынести ярлык на рабочий стол.

Как измерить скорость работы браузера

Как понять, какие опции ускоряют работу, а какие замедляют?

Для этого запускается web.basemark.com с различными сочетаниями настроек и сравнивается количество набранных баллов.

В chrome://gpu браузер может показывать, что включено аппаратное ускорение декодирования видео. Но ведь не каждое видео будет декодироваться аппаратно!

Открываем chrome://media-internals/, параллельно запускаем проигрывание видео с Youtube и смотрим, каким кодеком оно декодируется.

Сейчас Google все видео отдает в кодеке VP9 собственной разработки, но на довольно многих старых видеокартах возможно аппаратное декодирование только H.264; расширение h264ify заставит браузер сообщать, что он не поддерживает кодеки VP8 и VP9, что заставит Youtube отдавать видео в H.264.

По умолчанию так:

С включенным h264ify на его стандартных настройках:

Нет единого списка драйверов и видеокарт с поддержкой аппаратного декодирования.

Браузер перестал запускаться

Открываем в файловом менеджере папку ~/.config (~ - это домашняя папка) и папку chromium (для Google Chrome она называется google-chrome, Vivaldi - Vivaldi и т.д.).

В ней хранится профиль. Можно просто переименовать папку, например, в chromium.old, а при следующем запуске chromium создаст ее заново и начнет с чистого листа. В качестве резервной копии рекомендуется до проведения всех манипуляций заархивировать эту папку. Если что-то сломано, а начинать с чистого профиля не хочется, то открываем терминал внутри ~/.config/chromium и выполняем команду: $ grep -inHr "ignore-gpu-blacklist"

Вместо ignore-gpu-blacklist подставляется название опции, которая стала причиной неполадок. В ответ команда grep выдаст путь к файлу и номер строки, где исправляется настройка (часть настроек хранится в SQLite базе данных, для этого нужна программа для работы с SQLite-БД).

Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

Ваше письмо×
Free Web Hosting