Au fait, j'ai testé Xgl dernièrement sur ma machine. Autant il est vrai que les effets 3D sont fluides (à condition de ne pas être en train de compiler qqc à côté ! ;-) ) et que les fenêtres sont rafraichies immédiatement (plus de trainées quand on déplace une fenêtre comme sous un serveur X classique).
C'est d'un lourd cette incompréhension...
Je te suggère une expérience : prenons une application Java qui consomme comme Netbeans. Prenons Java 5 et Java 6 (http://mustang.dev.java.net). C'est propriétaire hélas, mais j'ai pas mieux comme éléments pour le test (application égale, toolkits quasiment égaux à un détail : la version). Lance netbeans avec Java5. Ouvre la fenêtre à propos par exemple. Déplace là... Ho une traînée énorme...
Maintenant, lance netbeans avec Java 6. Ouvre la fenêtre à propos, déplace là... Mais... où est la traînée ? Ben y'en a plus (ou de quelques pixels seulement). Les traînées, ce n'est pas du à X, c'est du aux applications ! Il suffirait d'un système de double-buffering dans Qt3 pour que toutes les applications Qt3 arrêtent de faire des traînées (Qt4.1 a ça par défaut il me semble, java6 mustang l'a et donc supprime les traînées car il est assez rapide pour redessiner). Pareil pour Gtk.
Vous me direz : oui mais Xgl il est super fort et moderne et tout et tout, et il arrive à éviter les traînées. Bon, déjà Xgl ça fait plus d'un an qu'il existe. Il a eu un coup de punch tant marketing que fonctionnel grâce à novell. Ensuite, Xgl n'apporte rien niveau graphique qui ne soit pas faisable avec un serveur X classique, utilisant aiglx par exemple. Sans aiglx, les performances sont moindres, mais ça reste faisable. Dans Looking Glass, les fenêtres "woobly" nous pourrions les avoir depuis deux ans bientôt... Mais personne n'y a pensé, ou personne n'a eu le temps, ou personne n'a proposé de les coder. Et on n'utilise pas Xgl ni aiglx. On utilise Composite et cie, tout comme compiz utilise composite et cie + un petit truc dans la libGL supporté par aiglx ou Xgl. Ce petit truc d'ailleurs, Looking Glass devrait l'utiliser prochainement.
Maintenant, reprenons nos chères traînées avec netbeans sur Java5. Il existe une possibilité pour les supprimer : utiliser Composite. C'est l'une des possibilités d'un composite manager. Avec kompmgr activé, je n'ai plus aucune traînée sur aucune application.
Bref, reconnaissons les mérites des uns et des autres, sans exagération !
Merci à Xgl de proposer une implémentation originale d'un serveur X, en utilisant l'OpenGL pour tout dessiner. Merci d'implémenter *texture_from_pixmap.
Mais merci à aiglx d'implémenter *texture_from_pixmap pour X.org. Et merci, merci à X.org d'avoir intégré dans la version 6.8 l'extension Composite. C'est un geste courageux car même si l'extension était alors très bugguée, cela a probablement encouragé le développement de nombreux outils liés.
[^] # Re: Le liveCD qui redonne du sens aux liveCD
Posté par Pinaraf . En réponse à la dépêche Un live cd pour tester XGL. Évalué à 10.
C'est d'un lourd cette incompréhension...
Je te suggère une expérience : prenons une application Java qui consomme comme Netbeans. Prenons Java 5 et Java 6 (http://mustang.dev.java.net). C'est propriétaire hélas, mais j'ai pas mieux comme éléments pour le test (application égale, toolkits quasiment égaux à un détail : la version). Lance netbeans avec Java5. Ouvre la fenêtre à propos par exemple. Déplace là... Ho une traînée énorme...
Maintenant, lance netbeans avec Java 6. Ouvre la fenêtre à propos, déplace là... Mais... où est la traînée ? Ben y'en a plus (ou de quelques pixels seulement). Les traînées, ce n'est pas du à X, c'est du aux applications ! Il suffirait d'un système de double-buffering dans Qt3 pour que toutes les applications Qt3 arrêtent de faire des traînées (Qt4.1 a ça par défaut il me semble, java6 mustang l'a et donc supprime les traînées car il est assez rapide pour redessiner). Pareil pour Gtk.
Vous me direz : oui mais Xgl il est super fort et moderne et tout et tout, et il arrive à éviter les traînées. Bon, déjà Xgl ça fait plus d'un an qu'il existe. Il a eu un coup de punch tant marketing que fonctionnel grâce à novell. Ensuite, Xgl n'apporte rien niveau graphique qui ne soit pas faisable avec un serveur X classique, utilisant aiglx par exemple. Sans aiglx, les performances sont moindres, mais ça reste faisable. Dans Looking Glass, les fenêtres "woobly" nous pourrions les avoir depuis deux ans bientôt... Mais personne n'y a pensé, ou personne n'a eu le temps, ou personne n'a proposé de les coder. Et on n'utilise pas Xgl ni aiglx. On utilise Composite et cie, tout comme compiz utilise composite et cie + un petit truc dans la libGL supporté par aiglx ou Xgl. Ce petit truc d'ailleurs, Looking Glass devrait l'utiliser prochainement.
Maintenant, reprenons nos chères traînées avec netbeans sur Java5. Il existe une possibilité pour les supprimer : utiliser Composite. C'est l'une des possibilités d'un composite manager. Avec kompmgr activé, je n'ai plus aucune traînée sur aucune application.
Bref, reconnaissons les mérites des uns et des autres, sans exagération !
Merci à Xgl de proposer une implémentation originale d'un serveur X, en utilisant l'OpenGL pour tout dessiner. Merci d'implémenter *texture_from_pixmap.
Mais merci à aiglx d'implémenter *texture_from_pixmap pour X.org. Et merci, merci à X.org d'avoir intégré dans la version 6.8 l'extension Composite. C'est un geste courageux car même si l'extension était alors très bugguée, cela a probablement encouragé le développement de nombreux outils liés.