Si le toolkit gère OpenGL, l'application devient OpenGL de facto, non?
Je pense à GTK+ et Cairo (je ne pense pas que Qt ai l'équivalent).
Qt, gtk+ et cairo (cairo-gl) peuvent en effet utiliser OpenGL pour le rendu. Mais c'est pas forcement ce qui est le plus performant. De plus, le nombre de contextes hardware est limité sur certains hw/drivers. C'est une question sur laquelle nous travaillons depuis 2011 sans avoir de véritable réponses. On a vraiment à faire un trade-of entre la sécurité et les performances quand on atteind la limite :s
Je doute que pour certains rendus, un contexte OpenGL apporte quoi que ce soit (si ce n'est des perfs en moins). Je pense que ça va être quelque chose que les applis vont devoir choisir.
Avec Wayland, toutes les applis utiliseront l'équivalent de DRI2.
Pour pinailler un peu: il y a un exemple de client Wayland utilisant la mémoire partagée, mais on peut espérer que ce soit rare en pratique en effet.
Oui, en effet. Pour être honnête, j'avais zappé cette amélioration :)
Avec wayland, ça ira encore plus vite car on aura même plus besoin de sérialiser les commandes ou l'image finale dans une socket et traiter le rendu de toutes les applis dans une thread unique (X).[coupé] Plus de sérialisation du rendu, plus d'utilisation d'un toolkit 2D très limité (X11/XRender).
Il me semble que dans le mode Qt/raster ou OpenGL(DRI2), il n'y ni sérialisation, ni utilisation d'un toolkit 2D puisque dans les 2 cas, le client peut écrire dans son buffer lui-même et envoyer le résultat par mémoire partagée(Qt raster) ou buffer vidéo (DRI2), non?
Par mémoire partagé, pour sûr. Par BO, je doute, à vérifier. Dans le cas de la mémoire partagée, c'est sous optimal comparé à l'utilisation de buffers GEM car la mémoire partagée nécessite au minimum de placer le buffer partagé dans la GART ce qui est lent et augmente la pression sur cette zone. Dans le cas de buffers GEM, ils sont probablement déjà en VRAM, donc ça va plus vite :)
[^] # Re: Compiz ne migrera pas vers Wayland
Posté par Martin Peres (site web personnel) . En réponse à la dépêche Petites brèves autour de Wayland. Évalué à 10.
Qt, gtk+ et cairo (cairo-gl) peuvent en effet utiliser OpenGL pour le rendu. Mais c'est pas forcement ce qui est le plus performant. De plus, le nombre de contextes hardware est limité sur certains hw/drivers. C'est une question sur laquelle nous travaillons depuis 2011 sans avoir de véritable réponses. On a vraiment à faire un trade-of entre la sécurité et les performances quand on atteind la limite :s
Je doute que pour certains rendus, un contexte OpenGL apporte quoi que ce soit (si ce n'est des perfs en moins). Je pense que ça va être quelque chose que les applis vont devoir choisir.
Oui, en effet. Pour être honnête, j'avais zappé cette amélioration :)
Par mémoire partagé, pour sûr. Par BO, je doute, à vérifier. Dans le cas de la mémoire partagée, c'est sous optimal comparé à l'utilisation de buffers GEM car la mémoire partagée nécessite au minimum de placer le buffer partagé dans la GART ce qui est lent et augmente la pression sur cette zone. Dans le cas de buffers GEM, ils sont probablement déjà en VRAM, donc ça va plus vite :)