Bug 43839 - firefox-esr: использует программную эмуляцую GL ES при наличии GPU и работоспосбных драйверов
Summary: firefox-esr: использует программную эмуляцую GL ES при наличии GPU и работосп...
Status: CLOSED WORKSFORME
Alias: None
Product: Branch p10
Classification: Unclassified
Component: firefox-esr (show other bugs)
Version: не указана
Hardware: aarch64 Linux
: P5 normal
Assignee: qa-team@altlinux.org
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-21 15:13 MSK by Alexey Sheplyakov
Modified: 2023-01-30 17:51 MSK (History)
5 users (show)

See Also:


Attachments
общесистемный профайл (flamegraph) (2.05 MB, image/svg+xml)
2022-09-21 15:13 MSK, Alexey Sheplyakov
no flags Details
воспроизведение того же видео в ffplay, общесистемный профайл (728.32 KB, image/svg+xml)
2022-09-21 19:59 MSK, Alexey Sheplyakov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Sheplyakov 2022-09-21 15:13:59 MSK
Created attachment 11547 [details]
общесистемный профайл (flamegraph)

(перенесено из https://bugzilla.altlinux.org/show_bug.cgi?id=41486#c11)

Воспроизведение HD видео с youtube тормозит и спотыкается.
Дело не в сети - проблема проявляется и при воспроизведении локального видео (скачанного с помощью youtube-dl).
ffplay нормально воспроизводит это же видео на этом же компьютере.
Проверял на raspberry pi 4b, разных платах на Байкал-М, rock pi 4c.

firefox НЕ задействует GPU для преобразования YUV в ARGB.
А именно, ~20% собранных стеков содержат функцию linear_row_yuv<false>, которая определена в файле gfx/wr/swgl/src/composite.h [1].
В файле gfx/wr/swgl/README.md зелёным по терминалу написано:

This is a relatively simple single threaded software rasterizer designed for use by WebRender.

Понятно, что это обречено тормозить. Тем более на архитектурах, где производительность достигается числом ядер (т.е. всё, кроме x86_64). А вот почему firefox вместо GL ES (как это делает ffplay) делает какую-то неведомую фигню - совершенно не ясно.

[1] http://git.altlinux.org/gears/f/firefox-esr.git?p=firefox-esr.git;a=blob;f=mozilla/gfx/wr/swgl/src/composite.h;h=1a74d6aef5441288487655b9fcfdc00ac2cea17a;hb=1587622310e4b957293342baeceb646d78f9a776#l847

[2] http://git.altlinux.org/gears/f/firefox-esr.git?p=firefox-esr.git;a=blob;f=mozilla/gfx/wr/swgl/README.md;h=2c43ed881957398548ce9658f018a9ea7eb8855f;hb=1587622310e4b957293342baeceb646d78f9a776#l6
Comment 1 Alexey Sheplyakov 2022-09-21 15:24:08 MSK
Профайл, конечно, не первой свежести. Но чтобы получить свежий, надо сначала разобраться с #43836
Comment 2 Alexey Sheplyakov 2022-09-21 19:59:07 MSK
Created attachment 11548 [details]
воспроизведение того же видео в ffplay,  общесистемный профайл
Comment 3 Alexey Sheplyakov 2022-09-21 20:03:29 MSK
(Ответ для Alexey Sheplyakov на комментарий #2)
> Создано вложение 11548 [details] [подробности]
> воспроизведение того же видео в ffplay,  общесистемный профайл

ffplay отображает декодированные кадры с помощью текстур (см. GL_UpdateTextureYUV и выше по стеку). Также видно работу драйвера GPU (ядерный поток pan_js).
Comment 4 Ivan Alekseev 2023-01-30 17:51:01 MSK
По указанным шагам ошибка не воспроизвелась. Подтормаживаний нет.

Стенд: Baikal-M TF307-MB-S-D с системой из образа slinux-10.1-aarch64.iso.
Версия пакета: firefox-esr-102.6.0-alt1.aarch64
Видео: https://www.youtube.com/watch?v=ayWd44asH4U (1080p HD)