При обговоренні помилки, пов'язаної з відносно високим у порівнянні з Windows споживанням електроенергії на APU AMD з підтримкою апаратного декодування відео, інженер з AMD Алекс Дойкер (Alex Deucher, основний розробник драйвера amdgpu) визнав, що відображення відео в Linux в принципі неефективне.
При виведенні відео в Linux зараз використовується наступний ланцюжок:
- Стиснутий відеопотік
- VCN (модуль апаратного декодування відео для GPU AMD)
- Сирі YUV дані
- Конвертація палітри, масштабування на модулі GFX (по суті 3D акселератор у GPU, що змушує його підвищувати частоти роботи ядра та VRAM)
- RGB дані
- Виведення на екран.
Як має працювати:
- Стиснутий відеопотік
- CNV
- Сирі YUV дані
- Контролер дисплея, який перетворюватиме палітру, масштабуватиме і відображатиметься.
Більш ефективно це може бути вирішено у Wayland композиторах, але поки що реалізації немає. Ця проблема вирішена в Microsoft Windows і Google Android, бо там є повноцінні поодинокі композитори, які надають відповідні можливості та API — чого поки що немає в Linux, тому що ні X.org, ні Wayland не можуть працювати з YUV-потоками безпосередньо.
Джерело: opennet.ru