• [^] # Re: Y.org

    Posté par (site web personnel) . En réponse à la dépêche XFree86 a de moins en moins la côte. Évalué à 5.

    Ca n'est pas un problème dans la xlib, c'est un problème dans la conception du protocole X lui-même. Tant que les widgets sont gérés coté client, pour dessiner un joli bouton avec un gros thème pixmap, l'algo ressemble forcément à

    Client:
    1) Tiens, il faut dessiner un bouton
    2) Quelle tête doit avoir le bouton. Ah, ce pixel doit être rouge, celui-là vert, ...
    3) Envoyer l'image complete du bouton

    Serveur:
    1) recevoir l'image complete du bouton
    2) Le dessiner.

    Avec un rendu coté serveur, ça ressemble plutôt à:

    Client:
    1) Tiens, il faut dessiner un bouton
    2) Envoyer les coordonnées et la taille du bouton au serveur (Ca prends moins de place que l'image)

    Serveur:
    1) Recevoir les coordonnées du bouton
    2) Calculer l'image
    3) L'afficher à l'écran (ici, 2 et 3 peuvent interagir pour utiliser au max les possibilités de la carte graphique)

    Tu peux comparer ça a une page web. En général, le rendu des widgets est fait coté navigateur, qui correspond au coté serveur pour X. Résultat, une page web avec 42 boutons et 14 barres de défilement tiens en quelques lignes d'HTML. Bande passante économisée ! On peut aussi faire une sorte de rendu coté serveur Web : Tu calcules une image, et tu envoies un au navigateur. La, bonjour la bande passante.

    Aujourd'hui, ça ne nous viendrait pas trop à l'idée de faire du rendu coté serveur web par défaut, ben ça devrait être pareil pour X.

    Idem pour le rendu du texte. Heureusement qu'on n'envoie pas les lettres pixel par pixel au serveur, mais que le rendu des polices est géré coté serveur X, sinon, imaginez la bande passante pour afficher un xterm !!