Il est plus difficile (pour l'utilisateur) de distinguer entre une appli qui rame, qui est bloquée ou complètement plantée: dans tous les cas boutons et les menus continuent de réagir. Difficile de savoir s'il faut attendre, recliquer sur le bouton, ou fermer et relancer...
On cliquait une fois sur le bouton, il s’enfonçait, et on savait que le serveur graphique avait ajouté l’évènement dans la liste d’évènements de l’application.
Après, si elle ne le traitait pas, c’est qu’elle déconnait.
Cela demande beaucoup d'échanges de messages haut-niveau entre l'appli et le serveur GUI
Ce ne sont pas forcément des messages plus gros que des messages de bas niveau et en quantité, c’est négligeable par rapport à la quantité de messages de bas niveau de X11, par exemple.
Tu as juste un message du style le bouton « OK » a été cliqué ou la barre de défilement est à telle position. Le serveur s’occupe en local d’afficher l’image bouton enfoncé et de réafficher l’image normale lorsqu’on relâche le bouton de la souris.
Avec X11, tu as un message le pointeur est entré dans le bouton (sa « fenêtre » au sens X11, c’est à dire le rectangle qu’il occupe), une floppée d’évènements pour indiquer ses changements de position (bon, ça fait très longtemps que je n’ai pas touché à X11, il me semble qu’heureusement l’application n’est peut-être pas obligée d’écouter les évènements sans intérêt pour elle), un évènement pour indiquer que le bouton gauche a été enfoncé ; à ce stade-là, l’application doit répondre par les commandes permettant d’afficher le bouton enfoncé ; ensuite, elle recevra un évènement bouton relâché et devra faire de même pour réafficher le bouton en position normale...
Au final, ça fait une très grosse quantité de messages (jette un coup d’œil avec xev si tu veux). Ceux qui ont essayé de faire passer du X11 sur une liaison modem 56k ont pu s’en rendre compte...
L’intérêt de X11, c’est la souplesse : tes applications peuvent ressembler à tout ce que tu veux, avoir une ergonomie aussi originale que tu veux et ton gestionnaire de fenêtre peut être aussi absolument comme tu le veux, sans que tu aies à modifier le serveur X lui-même.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
[^] # Re: Il y a bien longtemps...
Posté par Arthur Accroc . En réponse au journal Une info sur KDE on Wayland. Évalué à 2.
On cliquait une fois sur le bouton, il s’enfonçait, et on savait que le serveur graphique avait ajouté l’évènement dans la liste d’évènements de l’application.
Après, si elle ne le traitait pas, c’est qu’elle déconnait.
Ce ne sont pas forcément des messages plus gros que des messages de bas niveau et en quantité, c’est négligeable par rapport à la quantité de messages de bas niveau de X11, par exemple.
Tu as juste un message du style le bouton « OK » a été cliqué ou la barre de défilement est à telle position. Le serveur s’occupe en local d’afficher l’image bouton enfoncé et de réafficher l’image normale lorsqu’on relâche le bouton de la souris.
Avec X11, tu as un message le pointeur est entré dans le bouton (sa « fenêtre » au sens X11, c’est à dire le rectangle qu’il occupe), une floppée d’évènements pour indiquer ses changements de position (bon, ça fait très longtemps que je n’ai pas touché à X11, il me semble qu’heureusement l’application n’est peut-être pas obligée d’écouter les évènements sans intérêt pour elle), un évènement pour indiquer que le bouton gauche a été enfoncé ; à ce stade-là, l’application doit répondre par les commandes permettant d’afficher le bouton enfoncé ; ensuite, elle recevra un évènement bouton relâché et devra faire de même pour réafficher le bouton en position normale...
Au final, ça fait une très grosse quantité de messages (jette un coup d’œil avec xev si tu veux). Ceux qui ont essayé de faire passer du X11 sur une liaison modem 56k ont pu s’en rendre compte...
L’intérêt de X11, c’est la souplesse : tes applications peuvent ressembler à tout ce que tu veux, avoir une ergonomie aussi originale que tu veux et ton gestionnaire de fenêtre peut être aussi absolument comme tu le veux, sans que tu aies à modifier le serveur X lui-même.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone