J'étais tellement content de mes progrès pour l'affichage rapide de vidéos que j'allais en oublier de noter quelques idées qui me sont venues dans la foulée...

OpenGL

Maintenant que je sais envoyer du YUV12 vers un Pixmap, je pourrais peut-être envisager d'utiliser OpenGL pour le rendu. L'avantage majeur serait d'avoir probablement de meilleurs résultats en ce qui concerne la synchronisation avec le retour vertical. D'autre part ça permettrait d'avoir une approche unifiée avec l'éventuel pilote stéréo 3D que je compte continuer à écrire.

XRenderComposite

Sinon, je peux peut-être aussi remplacer XCopyArea par XRenderComposite, des tests récents m'ayant montré que la différence de performance ne semblait pas être si négligeable si on n'utilisait pas un Pixmap en mémoire partagée.

Si l'extension MIT-SHM est présente, l'écart de perfs est seulement de 6 ou 7 % sinon, ça vaut donc quand même le coup d'utiliser XRenderComposite dans tous les cas. Reste à voir si XRenderComposite est bien supporté partout.