@Antek
For OpenGL, you probably need to create a context. I haven't worked with OpenGL before. You either need to study examples of working with OpenGL from Lazarus and ThorVG yourself, or wait until someone adapts the examples
SW animation can be accelerated; at least 50% is lost in the depths of LCL when rendering Bitmap (I'm talking about Windows; in other widget sets, everything may be different; in general, you need to adapt the rendering everywhere for minimal overhead)