Explorer
KNOW-PAT-245

Choisir Canvas, WebGL, WebGPU et WebAssembly par contrainte

Domaine
performance
Type
pattern
Priorité
P2

Choisir Canvas, WebGL, WebGPU et WebAssembly par contrainte

Échelle de décision

  • DOM/CSS : contrôles, texte, accessibilité et interface.
  • Canvas 2D : dessin bitmap et composition modestes ; choix initial tant que le budget tient.
  • WebGL : parallélisme GPU et rendu intensif avec une compatibilité plus large ; appliquer les budgets et la restauration de contexte de KNOW-PAT-237 et KNOW-PAT-238.
  • WebGPU : calcul et rendu GPU modernes quand une charge mesurée le justifie. En 2026, l'API reste à traiter comme capacité non universelle : détection, chemin alternatif et matrice réelle obligatoires.
  • WebAssembly : portage d'un moteur C/C++/Rust ou accélération d'un noyau chaud confirmé. Il ne remplace ni le DOM, ni les Workers, ni une bonne structure de données.

Méthode

  1. Implémenter un chemin correct et mesurable.
  2. Capturer temps CPU/GPU, copies mémoire et latence d'interaction.
  3. Isoler le noyau limitant derrière une interface stable.
  4. Introduire une technologie plus complexe sur ce seul noyau.
  5. Comparer résultat, taille téléchargée, démarrage, mémoire et maintenance.

Anti-patterns

  • Choisir WebGPU ou WASM pour l'image de marque technique.
  • Faire dépendre le document ou l'action principale d'une API sans repli.
  • Compiler une bibliothèque native entière pour accélérer une fonction rare.
  • Lire fréquemment le framebuffer GPU vers le CPU : le transfert peut annuler le bénéfice du GPU.

Sources