• [^] # Re: Zarb

    Posté par . En réponse au journal GTK+ et OpenGL pour bientot ??. Évalué à 1.

    > vous avez fumé quoi

    Désolé d'être désagréable, mais tu fumes quoi ?

    Parce je connais X dans les grandes lignes et avec X tu peux avoir des fenêtres qui sont des textures. Côté client ce n'est pas forcément une texture, mais côté serveur ça ne pose pas de problème. C'est principalement X11 qui "cause" à la carte graphique.

    Ce n'est pas Compiz qui fait la transparence, c'est le serveur X11. Compiz "configure" le serveur X11 (lui dit quel est la transparence de telle ou telle fenêtre, etc).


    Effectivement on n'est pas obligé d'utiliser OpenGL pour faire de la transparence. On n'est pas obligé non plus d'utiliser OpenGL pour faire de la 3D. Mais sans OpenGL les performances sont lamentables.
    Juste un petit exemple. 4 fenêtres en transparence de 1600x1200 en (A)RGB32 : presque 30 Mo !
    La transparence est appliquée en cascade.
    Lecture des deux premières fenêtre => 15 Mo.
    Résultat temporaire => 7 Mo.
    Lecture du résultat temporaire et lecture de la troisième fenêtre => 15 Mo
    ....

    Lecture = 15 *3 = 45 Mo
    Ecriture = 7 * 3 = 21 Mo
    Soit pour une image = 66 Mo !
    Si une fenêtre est une vidéo à 25 fps et qu'elle est au fond on a au minimum => 66*25 = 1,6 Go/s !

    Certes les derniers CPU peuvent peut-être supporter ça. Mais c'est très très limite.

    Les cartes graphique savent bouffer ça à une vitesse "terrifiante".
    Sans parler de 3D, l'autre chose que font les cartes graphiques à une vitesse "terrifiante", c'est le redimensionnement d'image et l'antialiasing (qui peut être très très coûteux si fait avec le cpu de la carte mère).

    Donc OK, OpenGL n'est pas nécessaire pour la transparence. Mais il faut être con pour s'en passer.

    NB : Je connais bien Direct3D (je développe avec) et je ne suis pas naïf dans ce domaine.