• [^] # Re: 3D

    Posté par . En réponse au journal PowerTOP : Un outil pour réduire la consommation d'énergie sous GNU/Linux. Évalué à 4.

    En effet. D'après ce que j'ai compris (c'est assez flou pour moi, c'est pour ça que je ne détaille pas ce point dans le journal même) il y a des bugs dans les drivers (constatés et en voie de résolution avec les drivers libres radeon et intel, mais peut-être présents aussi dans les drivers propriétaires), des problèmes d'architecture de Mesa/Xorg, et d'implémentation dans Beryl.

    Pour ce que j'en ai compris, pour que le rendu des applications 3D - du moins celles utilisant OpenGL - soit synchrone avec la fréquence de rafraichissement de l'affichage (par ex. 60Hz ou 70Hz), et éviter des effets de bavures, on utilise une interuption appellée VBLANK (pour "vertical blank", cf. http://en.wikipedia.org/wiki/Vertical_blanking_interval ) qui déclenche le rendu synchrone au raffraichissement (donc dans les 60/70 ou plus interuptions par seconde, ce qui est beaucoup). Ce serait un défaut d'architecture de Mesa/Xorg, et la page "known.php" du site de PowerTOP indique qu'une reflexion est engagée sur ce point (notes que Keith Packard et Eric Anholt , deux "poids lourds" de xorg travaillent chez Intel, ça donne des perspectives).

    En outre les drivers libres Intel ont un bug (corrigé dans le git) qui fait que ce système de synchronisation est actif même lorsqu'on ne rends que de la 2D (c'est alors totalement inutile), cf. sur ce point aussi la page "known.php".

    Les développeurs du pilote radeon libre travaillent aussi sur un problème similaire dans leur driver : http://www.mail-archive.com/dri-devel@lists.sourceforge.net/(...) (les développeurs Intel, pas bégeules, leur donnent un coup de main : http://www.mail-archive.com/dri-devel@lists.sourceforge.net/(...) ).


    Et finallement, Beryl est gourmand. Ca donne par exemple des choses comme ça : http://www.bughost.org/pipermail/power/2007-May/000021.html

    Le driver propriétaire NVIDIA se comporte mal aussi : http://www.bughost.org/pipermail/power/2007-May/000015.html