Lors d'une discussion sur un problème lié à la consommation d'énergie relativement élevée par rapport à Windows sur les APU AMD avec décodeur vidéo matériel, un ingénieur d'AMD, Alex Deucher (développeur principal du pilote amdgpu), a admis que l'affichage vidéo sous Linux est en principe inefficace.
La chaîne de traitement vidéo sous Linux utilise actuellement les éléments suivants :
- Flux vidéo compressé
- VCN (module de décodage vidéo matériel pour GPU AMD)
- Données YUV brutes
- Conversion de la palette, mise à l'échelle sur le module GFX (essentiellement un accélérateur 3D dans le GPU, ce qui l'amène à augmenter les fréquences du cœur et de la VRAM)
- Données RGB
- Affichage à l'écran.
Comment cela devrait fonctionner :
- Flux vidéo compressé
- VCN
- Données YUV brutes
- Contrôleur d'affichage, qui effectuera la conversion de la palette, la mise à l'échelle et l'affichage.
Cela pourrait être résolu de manière plus efficace dans les compositeurs Wayland, mais il n'existe pas encore d'implémentation. Ce problème est résolu dans Microsoft Windows et Google Android, car ils disposent de compositeurs autonomes qui offrent les capacités et les API correspondantes — ce qui n'est pas encore le cas sous Linux, car ni X.org ni Wayland ne peuvent travailler directement avec des flux YUV.
Source : opennet.ru
