Quelles sont les optimisations effectuées par un navigateur lorsqu'un élément DOM est rendu hors écran?

Je contrôle un iframe rendu sur un autre domaine. Existe-t-il un moyen clair de dire si cet iframe est rendu au-dessus ou au-dessous du pli sur la page parent? Évidemment, je ne peux pas accéder au parent DOM en raison de la même restriction de politique d'origine .

Par exemple, j'ai essayé de mesurer la vitesse de rendu sur une canvas ou une étiquette VML , en espérant qu'elle serait plus rapide lorsque la balise n'est pas à l'écran. Cela n'a pas fonctionné – il n'y avait pas de différence de vitesse discernable. Ditto pour la manipulation de DOM – il ne semble pas y avoir de moyen de différencier les opérations de refusion / repeint au-dessous ou au-dessus du pli.

Qu'en est-il du flash? Je n'ai pas beaucoup d'expérience, mais peut-on vérifier la rapidité avec laquelle un navigateur effectue des opérations flash? Ou Flash n'a-t-il aucun événement «invisible» en dehors de la norme DOM?

Je ne le pense pas.

La même restriction de politique d'origine l'empêche, bien que vous puissiez utiliser les paramètres de l'URL, qui peuvent être définis par le javascript incorporant l'annonce, au décalage sur la page.

Selon l'auteur de SoundManager2 Scott Schiller, il y a une légère différence dans la latence du pont de communication JS-> Flash selon que le film flash est sur l'écran ou non. Autrement dit, il est plus lent quand il n'est pas à l'écran.

Cela varie vraiment selon le navigateur, car différents navigateurs interagissent avec le plugin Flash de manière différente. L'explication la plus précise que j'ai pu trouver se trouve sur une ancienne publication connectée .

Au point d'écrire, Firefox n'a pas intégré un objet flash jusqu'à ce qu'il se déroule sur la page. IE, d'autre part, a redimensionné l'élément Stage lorsqu'il s'est déroulé dans la vue. Aucune version du navigateur, du Flash ou du système d'exploitation n'est donnée, ce qui peut avoir changé depuis ce test.

En bref, j'ai besoin de faire un objet flash et de jouer avec lui, en veillant à divers événements.