Je n'avais pas considéré comme fillRect()
, mais les réponses se refusait à moi à l'indice de référence à l'encontre putImage()
.
Mise de 100 000 au hasard les pixels colorés dans des endroits aléatoires, avec Chrome 9.0.597.84 sur un (vieux) MacBook Pro, prend moins de 100ms avec putImage()
, mais près de 900ms l'aide d' fillRect()
. (Référence au code http://pastebin.com/4ijVKJcC).
Si, au lieu de choisir une seule couleur à l'extérieur des boucles et juste de l'intrigue que de la couleur à des emplacements aléatoires, putImage()
prend 59 ms vs 102ms pour fillRect()
.
Il semble que la surcharge de la production et de l'analyse d'un CSS spécification de la couleur en rgb(...)
syntaxe est responsable de la plupart de la différence.
Mettre brutes valeurs RVB directement dans un ImageData
bloc d'autre part nécessite aucune chaîne de la manipulation ou de l'analyse.