I am working on a classic “2D texture over 3D scene” setup, with a SkiaTexture over Stride.
Having a rather large texture size, we identified SkiaTexture as a bottleneck, so the idea is to do this asynchronously, like this:
This kind of works when connecting the nodes initially, but updates take several seconds. Overall, it feels kind of wrong.
Is this the right approach anyway?
Stride and Skia for that matter are not thread safe. Placing their nodes in different threads is not supported - you will see undefined behaviour and/or crashes.
Any chance you can post a patch showing the original issue you’re having?
Instead of rendering into a texture, why not use SkiaRenderer and draw directly into the 3d scene in the after scene render stage?
But in the last project I was involved in, we replaced Skia with custom stride rendering because complex dynamic skia was too slow on big resolutions.
But that highly depends on the use case and content.