La representación en la mayoría de los juegos tiene lugar dentro de un bucle (el bucle del juego) y en cada iteración del bucle del juego se borra todo el backbuffer (en este caso, su lienzo) y se vuelve a dibujar desde cero.
El término renderizado sucio se refiere a una técnica en la que, en lugar de borrar todo el lienzo en cada fotograma, solo se borra a pedido (es decir, solo cuando algo cambió en la escena) y posiblemente solo una parte (es decir, solo la parte donde algo cambió) )
Este proceso de marcar solo una parte de su lienzo para volver a dibujarlo es a lo que se refiere sucio (es decir, esa parte del lienzo está sucia y necesita volver a dibujarse, pero todo lo demás todavía está limpio y no debe tocarse ).
No tengo idea de si hay alguna forma especial de implementar esto en HTML5, pero encontré este recurso que podría darle algunas ideas.