Estoy dibujando un gráfico en un <canvas>
que requiere cálculos caros. Me gustaría crear una animación (al mover el mouse sobre el lienzo) donde el gráfico no cambia, pero algunos otros objetos se dibujan sobre él.¿Guardar <canvas> contenidos para volver a dibujar en cuadros de animación posteriores?
Como el lienzo tendrá que volver a dibujarse mucho, no quiero realizar los cálculos para representar el gráfico para cada fotograma. ¿Cómo puedo dibujar el gráfico una vez, guardarlo y luego usar el renderizado guardado para volver a dibujar los fotogramas posteriores de la animación, de modo que los costosos cálculos solo tengan que ocurrir una vez que & todo lo que tengo que volver a dibujar sea la capa de animación mucho más simple?
he intentado dibujar el gráfico en un segundo lienzo & a continuación, utilizando ctx.drawImage()
para hacerlo en el lienzo principal, pero el dibujo en el lienzo no parece funcionar a menos que sea en el Reino & no display:none;
. ¿Tengo que hacer algo hacky como posicionar el visor temporal fuera de la vista, o hay una manera más limpia de hacerlo?
No sabía esto, y nunca vi nada sobre esto en todos los documentos de Canvas que leí. Buena nota. –