And vector rendering on GPUs is a pain to do, even more so with Flash Player's rendering quirks. Adobe's official solution to hardware rendering on Flash was Starling Framework, which rendered all your assets to bitmap textures and then gave you a DisplayObject-compatible API that triggered Stage3D renders under the hood.
In Ruffle we use a tesselation library to render on GPU. This preserves vector scalability but it has other issues. Most movies work fine with it, but we have to waste time tessellating[0] assets, and in certain contrived cases we tesselate things wrong and movies look polygonal.
[0] Which we hid behind existing Flash preloaders. We don't even support progressive download yet! But the alternative was Homestuck hanging your browser for minutes on end.
To be fair, on the single 100 mbit link the site used to be on, for new things being posted, that would be historically accurate...
Oh and yes, the opening bars of "Doctor" are permanently burned into my head now.
The Flash renderer was also state-of-the-art for the moment, with really awesome anti-aliasing and blending. All while using just fixed-point integer arithmetic.