Canvas does not perform a processing layer pipeline for transitions of vertex and index sets into triangles, which then receive textures and illuminate everything in hardware, like OpenGL / WebGL ... this is the main reason for such speed differences ... Canvas containers to such formulations are executed on a processor with only the final rendering sent to the graphic equipment ... speed differences are especially noticeable when a huge number of such vertices try to synthesize / animate on Canvas and WebGL ...
, , OpenGL: Vulkan, , OpenCL/CUDA, , Canvas