? La 2D étant un cas particulier de la 3D, je ne comprends pas trop ce que tu veux dire par là..
En hardware, la 2D est en effet un cas particulier de la 3D. Dans X, ça n'a rien à voir car la 2D est accélérée par le DDX qui accélère seulement quelques opérations nécessaires à XRender.
Dans tout les cas, je ne vois pas trop pourquoi tu insiste sur la 3D: l'utilisation normale de Wayland(*) (comme DRI2 d'ailleurs) c'est le partage de buffer dans la mémoire vidéo du GPU entre un client et le serveur d'affichage, quel rapport entre les interfaces 2D ou 3D pour dessiner dans ces buffers?
Dans Wayland, plus de différence entre une appli 3D et 2D. Les 2 font ce qu'elles veulent. Elles doivent juste présenter le contenu des fenêtres "à la DRI2". Dans X, c'est pas du tout le même chemin. Quand tu fais de la 2D, tu passes par X -> ddx -> (mesa) -> libdrm -> GPU -> compositeur. Pour la 3D, y'a plusieurs cas. Soit tu accèdes à mesa en direct rendering et dans ce cas là, tu as globalement, application -> mesa -> libdrm -> GPU -> compositeur. Si tu es en indirect rendering, tu passes par X et AIGLX entre application et mesa (oui, c'est le bordel).
Il n'y aura plus d'interface d'accélération 2D totalement dépassée.
Oui, euh j'aimerai bien mais certains pilote propriétaire ne fournissent une interface accélérée que pour la 2D, pareil pour la virtualisation donc 'dépassée', ça dépend beaucoup de la situation!
Comme t'as déjà répondu Xavier Claude, c'est l'interface qui est dépassée, pas l'accélération 2D.
Mais ce n'est pas fini. Wayland simplifie aussi la gestion des fenêtres et promet un redimensionnement pixel-perfect!
C'est un avantage en effet, mais je trouve dommage de ne pas préciser le prix a payer: si le client est lent à fournir une fenêtre l'animation peut être "saccadée" alors que si le redimensionnement est fait par le serveur d'affichage on a juste le contenu qui est moche quand le client est lent..
Après, paradoxalement, ça peut être perçu comme un "avantage" car ça pousse une conception "à la BeOS" ou chaque client a (au moins) un thread dédié à la fenêtre, m'enfin d'ici que ce design se réalise (*SI* il se réalise) on aura des animations saccadées par moment, bof c'est cher comme prix à payer..
Avec X, le redimensionnement est toujours lent alors qu'avec Wayland, il est vraiment plus rapide à moins que l'appli soit bloquée. Cela dit, même dans X, quand une appli est bloquée, ça te fait pas quelque chose d'utilisable. Alors faut pas confondre features et habitudes ;) Personnellement, je préfère voir le dernier buffer valide qu'un tas informe de pixels tel qu'on a dans X.
Je te conseille de faire un test. Redimensionne une appli dans X et regarde le décalage moyen entre, ton curseur, la fenêtre telle que présentée par le compositeur et ce que l'application a véritablement rendu. Refait le test dans Wayland et regarde la différence :)
[^] # Re: video
Posté par Martin Peres (site web personnel) . En réponse au journal Confs de Martin Peres sur la pile graphique Linux.. Évalué à 3.
En hardware, la 2D est en effet un cas particulier de la 3D. Dans X, ça n'a rien à voir car la 2D est accélérée par le DDX qui accélère seulement quelques opérations nécessaires à XRender.
Dans Wayland, plus de différence entre une appli 3D et 2D. Les 2 font ce qu'elles veulent. Elles doivent juste présenter le contenu des fenêtres "à la DRI2". Dans X, c'est pas du tout le même chemin. Quand tu fais de la 2D, tu passes par X -> ddx -> (mesa) -> libdrm -> GPU -> compositeur. Pour la 3D, y'a plusieurs cas. Soit tu accèdes à mesa en direct rendering et dans ce cas là, tu as globalement, application -> mesa -> libdrm -> GPU -> compositeur. Si tu es en indirect rendering, tu passes par X et AIGLX entre application et mesa (oui, c'est le bordel).
Comme t'as déjà répondu Xavier Claude, c'est l'interface qui est dépassée, pas l'accélération 2D.
Avec X, le redimensionnement est toujours lent alors qu'avec Wayland, il est vraiment plus rapide à moins que l'appli soit bloquée. Cela dit, même dans X, quand une appli est bloquée, ça te fait pas quelque chose d'utilisable. Alors faut pas confondre features et habitudes ;) Personnellement, je préfère voir le dernier buffer valide qu'un tas informe de pixels tel qu'on a dans X.
Je te conseille de faire un test. Redimensionne une appli dans X et regarde le décalage moyen entre, ton curseur, la fenêtre telle que présentée par le compositeur et ce que l'application a véritablement rendu. Refait le test dans Wayland et regarde la différence :)