Because it's running in canvas? In other words, it's running within abstraction layer upon abstraction layer, with various other abstraction layers involved to help make sense of the fact that there are too many abstraction layers.
The amiga code was probably pretty close to talking to the graphics driver directly. Canvas is cool, but in terms of performance it's never really going to compete with native code, or even with flash for that matter since flash can remove some complexity by only building for a single, predictable, optimized environment.