Hi noeska,

I'm not 100% sure of the reason why its not working as I haven't played around with multi-threaded rendering, but I think it has something to do with the creation of the rendering context.

As your code is laid out at the moment, the init routine is called within the context of the main VCL thread, not the rendering thread.

Maybe what you should do, is store the handle as a property and call Init as the first thing you do in the execute method. Then the rendering context will be created in the context of the thread thats trying to use it.

Like I say, I'm not 100% sure as I haven't played around that much with multi-threaded rendering. At the very least, its worth a shot as its not a massive change.... if it doesn't work, then I'm wrong and you've not wasted too much time.

If you do try this, please let me know how you get on.