Journal Est-ce que vous trouvez que les applications GTK scintillent ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
10
août
2006
Bonjour,

j'aimerais avoir votre question à propos du moteur d'affichage de GTK.

Je vous explique le contexte : j'ai présenté Ubuntu, Gnome, Gimp à un ami qui a toujours utilisé MS Windows ou Mac OSX. Il me dit qu'il n'aime pas Linux & co car les GUI sont lent au niveau de l'affichage. Il me dit qu'il voie en premier la fenêtre s'afficher, puis les widgets... autre exemple, au niveau de l'utilisation des menus il voit le fond des boutons s'afficher puis le texte... Il constate le même problème avec la version Windows de Gimp. Il trouve cela insupportable...

Ma question est la suivante : est-ce que vous avez déjà remarqué cela ? pour ma part, je ne le remarque pas trop, peut être que je m'y suis habitué. Est-ce que GTK utilise un render avec double buffer, si oui, le problème ne devrait pas exister.

Merci d'avance pour vos avis.
--Stéphane
  • # Jette un oeil

    Posté par  (site web personnel) . Évalué à 10.

    Sur cette page du wiki Gnome :
    http://live.gnome.org/GnomePerformance?highlight=%28Performa(...)

    Plus particulièrement:
    http://mail.gnome.org/archives/performance-list/2006-July/ms(...)
    http://lists.freedesktop.org/archives/cairo/2006-August/0075(...)
    http://mail.gnome.org/archives/performance-list/2006-August/(...)

    Pour résumer, le problème est connu des dev GTK, ils sont en train d'investiguer pour voir comment le résoudre.
    • [^] # Juste une impression...

      Posté par  (site web personnel) . Évalué à 2.

      J'utilise Windows au boulot, je viens d'acheter un Mac (depuis un mois) et j'utilise peu Linux en ce moment car je n'ai pas encore remonté mon pc (déménagement). Eh hien je confirme qu'il est frappant de constater la lenteur de l'affichage des fenêtre, que ce soit les fenêtres gnome, kde ou autres.

      C'est un problème que j'ai toujours connu sous X, même avec l'amélioration en performance des des machines.

      D'après ce que j'ai compris des quelques lectures glanées ça et là, voire ici même, cela viendrait du fait que la Xlib est synchrone, donc que X passe son temps à attendre. On attend toujours le fameux XCB http://linuxfr.org/2004/08/13/17033.html

      Pour être passé sous MacOS X, on aime ou on aime pas les parti pris, mais l'interface est impeccable au niveau de l'affichage.

      Je crois que je risque d'avoir du mal à me remettre à KDE... Pour le moment, car les futurs évolutions de X vont être vraiment intéressantes.

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # oups

    Posté par  . Évalué à -10.

    C'est marrant, on est pas encore vendredi...
    • [^] # Re: oups

      Posté par  . Évalué à 10.

      J'apprécie beaucoup l'humour très propre à linuxfr, les blagues sur Pierre Tramo et tout, mais le coup du "troll du vendredi" à chaque fois qu'on parle de gtk, de kde ou de mono, ça devient un chouilla lourd, vu que ça ressort à toute les sauces, en particulier quand on est pas vendredi.
      • [^] # Re: oups

        Posté par  . Évalué à -10.

        Bah non, mais histoire d'en rajouter une couche, à toujours des problèmes avec kde, gnome, et mono, comme tu le dit si bien...
        Cela me conforte dans le choix que tout ça pue et que les trucs styles fvwm, ou mieux, wmii, c'est largement au dessus.

        Et comme tu le fais remarqué, faut pas parler du vendredi (et en plus en est jeudi), donc non, ceci n'est pas un troll.....
  • # ça affecte aussi Qt ou WxWidgets ou autre ?

    Posté par  . Évalué à 3.

    Sans vouloir lancer de trolls, est-ce que ce problème est seulement dans GTK ou dans d'autres toolkits graphiques ?

    Est-ce que ton ami a la même impression quand il regarde KDE ou autre ?
    • [^] # Re: ça affecte aussi Qt ou WxWidgets ou autre ?

      Posté par  . Évalué à 7.

      Ça dépend de quoi on parle.

      Pour ce qui est de la lenteur du dessin des widgets, j'ai bien l'impression que GTK+ est plus lent que QT... m'enfin pour mesurer ça objectivement, je ne vois pas trop comment faire.

      Pour ce qui est du "scintillement" (la fenêtre n'est pas redessinée assez vite quand on la déplace... comme si on était désynchronisé du balayage de l'écran), ça le fait avec toutes les applications X, sauf avec un serveur bien configuré (vsync).

      Utiliser un compositing manager supprime aussi pas mal de problèmes liés à la lenteur d'affichage, en particulier s'il est accéléré OpenGL, comme compiz (oui parce que le compositing, c'est bien beau, mais si c'est pour faire ramer l'affichage deux fois plus qu'avant, ce qui est le cas avec les cartes graphiques bas de gamme, ... bof bof). Cela est dû au fait que le toolkit dessine les fenêtres une bonne fois pour toute dans un tampon séparé, et c'est le compositing manager qui se charge de mettre tout ça à l'écran au bon endroit, éventuellement en utilisant l'accélération matérielle, sans redessiner les portions de fenêtre découvertes qui étaient éventuellement recouvertes à l'instant d'avant.

      Petit test amusant : prendre une fenêtre firefox et la secouer dans tous les sens dans un environnement X sans Xcomposite : ça fait plein de traînées et c'est tout moche. Faire la même chose avec compiz chargé (mais sans l'effet wobbly, sinon c'est de la triche ! ou bien essayer avec [k/c]ompmgr ou autre), et comparer.
      • [^] # Re: ça affecte aussi Qt ou WxWidgets ou autre ?

        Posté par  . Évalué à 3.

        Euh, tout compte fait, mon intervention s'adresserait plutôt à l'auteur du journal ;-)
      • [^] # Re: ça affecte aussi Qt ou WxWidgets ou autre ?

        Posté par  . Évalué à 2.

        Pour ce qui est de la lenteur du dessin des widgets, j'ai bien l'impression que GTK+ est plus lent que QT... m'enfin pour mesurer ça objectivement, je ne vois pas trop comment faire.

        Un écran LCD, une caméra numérique en mode "sport", un hello world tout con écrit avec chacun des deux toolkits (de préférence dans le même langage, même si du coup on va également comparer les performances respectives de deux bindings).

        Enfin c'est une première approche, ça peut forcément être affiné.

        ça le fait avec toutes les applications X, sauf avec un serveur bien configuré (vsync).

        Juste comme ça, comment "bien" configurer un serveur X, de ce point de vue? Aurais-tu un pointeur?

        Faire la même chose avec compiz chargé (mais sans l'effet wobbly, sinon c'est de la triche ! ou bien essayer avec [k/c]ompmgr ou autre), et comparer.

        De mémoire, c'est beaucoup plus joli, mais aussi largement moins rapide. Ca m'avait donné l'impression d'avoir une souris à retour de force...
        • [^] # Re: ça affecte aussi Qt ou WxWidgets ou autre ?

          Posté par  . Évalué à 3.

          Juste comme ça, comment "bien" configurer un serveur X, de ce point de vue? Aurais-tu un pointeur?

          Malheureusement non, je ne sais même pas comment faire ! Je sais que j'ai eu à faire plusieurs fois à des serveurs bien et mal configurés, et qu'on a déjà tenté de m'expliquer comment faire ici même... mais apparemment, la solution n'est pas triviale.

          Je sais que ça a un rapport avec la synchronisation de X avec la fréquence de rafraîchissement vertical du moniteur.

          De mémoire, c'est beaucoup plus joli, mais aussi largement moins rapide. Ca m'avait donné l'impression d'avoir une souris à retour de force...
          Les compositing managers, c'est clair que ça bouffe des ressources, sauf avec une super carte graphique avec des drivers bien optimisés. C'est pour ça que je recommande plutôt compiz, vu que l'accélération matérielle passe par l'opengl. Or l'accélération matérielle 3D opengl fonctionne souvent correctement avec les cartes graphiques courantes, du moins c'est en général bien documenté, et on sait clairement quelle carte a l'accélération 3D avec quels drivers.
  • # oinc

    Posté par  (site web personnel) . Évalué à 4.

    > Il constate le même problème avec la version Windows de Gimp.

    Heureusement qu'il n'a pas essayé la version mac de gimp , parce que là c'est pire que tout
  • # .

    Posté par  . Évalué à 1.

    Il me dit qu'il n'aime pas Linux & co car les GUI sont lent au niveau de l'affichage. Il me dit qu'il voie en premier la fenêtre s'afficher, puis les widgets...

    Si y'a des gens qui s'y connaissent suffisament en gtk pour faire le soft suivant :
    - chronométrer boucle suivante :
    -- afficher une fenetre
    -- deplacer fenetre motié-haut de l'ecran
    -- delplacer fenetre moitié-bas de l'ecran
    -- cache fenetre

    Et pour en faire une version windows et une version linux, je veux bien me devouer pour tester sur le meme matos sous linux et sous win. avec pilotes proprio et libres. Ca sera au moins aussi parlant comme benchmark que "j'ai l'impression que c'est plus lent".

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.