• [^] # Vitesse et WM

    Posté par . En réponse à la dépêche Xfree86 4.2.0. Évalué à 10.

    La vitesse apparente de redessin des fenêtres dépend énormément du WM :



    en effet, c'est le WM qui intercepte TOUS les évènements à destination des "top level windows" (sauf celles qui ont le flag override_redirect) et ensuite décident des évènements qu'elles leur transmettent.



    Un WM peut aussi transformer un évenement en une cascade d'évènements synthétiques, selon son "look and feel".



    Par exemple, KDE fait un "opaque resize" des fenêtres, et rajoute un évènement Expose après chaque resize (dans un ev ConfigureNotify), ce qui ralenti considérablement l'affichage.



    Au niveau du toolkit il y a aussi des différence dans la gestion des suites d'Expose. Pour éviter de bloquer le cpu après un paquet d'Expose, les toolkits essaient de détecter ce cas de figure et de ne faire que le dernier. C'est pas évident car générallement les Expose sont entremélés sur les différents subwindows et les primitives X*Event pour examiner la queue ne sont pas designées pour ça. Par exemple, glut le fait très mal alors que gdk (la couche graphique de gtk) le fait très bien.



    Tout ceci dépend beaucoup aussi du contenu des autres fenêtres survolées, du toolkit qui les animent, etc.



    Enfin bref la comparaison entre Linux et win est loin d'être simple et parlante, elle dépend d'énormément de paramètres qui n'ont rien à voir avec le driver ni la carte.