Atelier Webperf - Fermé

[Refused] Criterion N° 810 - Seules les animations visibles sont actives.

Déposer un commentaire

  • 08 October 2012 13:41 - Jean-Pierre Vincent (1) Reply

    refusée car trop complexe à tester (mais je maintiens que techniquement c'est jouable) ?

    • 08 October 2012 16:19 - Jérémie Patonnier Reply

      Moi je pense que non, ce n'est pas possible du tout à vérifier sinon, indirectement. Tu prend une page avec une animation CSS qui n'est pas visible dans le viewport et tu mesure la charge CPU. Tu prend maintenant la même page sans l'animation du tout et là aussi tu mesure la charge CPU.<br><br>Le problème de ce genre de méthode c'est que si dans certains cas c'est simple, dans d'autre cas, ça peut être assez rock'n'roll d'isoler l'animation. En outre, il n'y a rien à faire, tu ne mesure pas la même chose. Bref... la mesure est très complexe à obtenir (automatiquement ou manuellement) et le résultat est d'une fiabilité douteuse (parce qu'on à mesuré 2 choses différentes et qu'on ne connais donc pas tous les effet de bord lié à la modification : par exemple, qu'elle est l'impact de la suppression de tous les nœud DOM d'une animation SVG sur la charge CPU par rapport à celle de l'animation, en particulier si l'animation est très complexe... ce qui serait une erreur de mesure car il est possible de désactivé l'animation sans supprimer les nœud DOM).<br><br>Bref... quand je disais que c'était une BP quantique, ce n'était pas une blague.

  • 13 April 2012 17:18 - Jérémie Patonnier (2) Reply

    C'est une BP quantique (ou Zen) celle-ci (^_^)

    En effet, à part pour les animations scripté (pour lesquelles on peut faire de l'introspection de code), comment savoir si les animations sont actives si on ne les voies pas ?

    • 04 May 2012 16:53 - Fabrice Bonny (1) Reply

      Il faudrait aussi définir une "animation". Un GIF animé, ça compte ?

      • 09 May 2012 09:38 - Jean-Pierre Vincent Reply

        en terme de CPU, oui ça compte ! Idéalement il ne faudrait pas que le gif animé ne soit lancé tant qu'il n'est pas visible dans la page, au même titre que le reste

    • 09 May 2012 09:48 - Jean-Pierre Vincent (1) Reply

      je ne comprends pas ta question :)
      cette BP répond au cas des animations lancées alors qu'elles sont en dehors du viewport. Si on a un outil capable de détecter une animation dans un navigateur, on sait probablement détecter une zone animée en dessous d'une ligne de flottaison déterminée. Pour les animations dans des zones révélées à l'action d'un utilisateur (popin, tabs), c'est effectivement très dur à vérifier.

      • 09 May 2012 11:27 - Jérémie Patonnier (1) Reply

        Bah... justement, c'est quoi cet outil pour détecter une animation "active". Si tu as ça sous le bras ça m’intéresse. Attention, je ne te parle pas des animations scriptées à coup de setTimout (iiiirk), setInterval (Aaaargle) ou requestAnimationFrame (Mieux) mais bien de tout le reste : CSS Animation, Animations SVG, Gif animés, etc.

        Fondamentalement, je suis bien d'accord avec l'intention de la BP, ce que j'ai du mal à voir, c'est quel sera le moyen de contrôle.

        • 09 May 2012 15:04 - Jean-Pierre Vincent (1) Reply

          Je ne sais pas quels sont les outils que maîtrise déjà Opquast pour automatiser tout ça, mais en théorie la technique utilisée par WebPageTest.org est intéressante :
          - prendre des screenshots à intervalles réguliers
          - comparer les variations de pixels ou de couleur (choix fait par WPT pour contrer les effets des reflows qui décale les pages)
          - si des zones changent souvent, c'est probablement une animation.
          ça n'existe pas en JS (encore que j'ai vu passer des techniques pour prendre des screenshots de page mais j'ai l'impression que ça se base sur un moteur de rendu custom), mais côté serveur on peut utiliser des navigateur headless comme phantom ou bien utiliser Selenium pour faire des captures à intervalle très rapproché.
          J'ai pas dit que c'était facile, juste techniquement faisable :)

          • 23 May 2012 16:13 - Fabrice Bonny (1) Reply

            Quel est le coup en terme de CPU pour détecter qu'un GIF est passé au-dessus de la ligne de flottaison et qu'il faut le remplacer par la version animée ?

            • 08 October 2012 13:40 - Jean-Pierre Vincent Reply

              pas grand chose en CPU si tu fais bien les choses (1 seul listener pour le onscroll, capé à 1 test par dixième de seconde par exemple)