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