There are two solutions you could try to reduce the CPU usage of your renderings.
Try using requestAnimationFrame so that your browser displays your canvas graphics whenever it is ready, and especially only when the user has a canvas tab open in the browser. Additional information: https://developer.mozilla.org/en-US/docs/Web/API/window.requestAnimationFrame
The second solution, depending on whether part or all of your content is dynamic, is to pre-render parts of your canvas on another βhiddenβ canvas in memory using JavaScript (for example, you split your main canvas into 4 sub-canvas, then you only need to draw 4 elements on the screen).
PS: If you use a Mac using Firefox in conjunction with multiple canvas rendering, this will increase the use of your processor compared to Chrome
Hope this helps
source share