115 Pratiques d'écoconception d'applications à architecture web, et plus...
Source CNUMR [BP_4020_fr]

Éviter les temps de blocages par des traitements javascript trop longs

Identifiants

GreenITV2V3V4

Catégories

Cycle de vieTiersResponsable
3. Réalisation (fabrication / développement)Utilisateur/TerminalArchitecte Logiciel/Développeur

Indications

Degré de prioritéMise en oeuvreImpact écologique
434
Ressources Economisées
Processeur

Description

Un navigateur comporte un processus qui transforme le code en une page web. Il doit accomplir plusieurs tâches avant de pouvoir afficher la page :

Or l’exécution du code JavaScript peut occuper les processeurs du terminal à plus de 90% ce qui bloque les autres traitements voir les interactions avec l’utilisateur. Mais surtout cela sollicite fortement le terminal ce qui conduit à deux choses :

Ces deux aspects peuvent mener à un renouvellement du terminal utilisateur à cause d’une obsolescence perçue.

Pour éviter cela, préférer découper vos JavaScript en petites tâches exécutées au moment requis et non pas avant.

Exemple

Le Total Blocking Time (TBT) mesure le temps total occupé par des « Long Tasks » (Tâches longues) durant l’activité principale du thread JavaScript. Une Long Task est un traitement qui dure plus de 50ms et qui monopolise le navigateur web. Il faut s’assurer que le TBT soit en dessous des 200 ms. La mesure peut s’effectuer avec LightHouse ou Web Page Test.

Principe de validation

Le nombre …est inférieur ou égal à
de tâches longues supérieures à 200 ms0