При обговоренні помилки, пов'язаної з відносно високим порівняно з 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
