I have successfully done this in Direct3D directly without much performance decreas, although video streaming needs heavy thread syncronization.
Unfortunatly calling ITexture:lock() & ITexture:unlock() in irrlich is very slow.
I have created a 32Bit texture and fill it every render loop with buffered video stream data. I do not write to the texture in a different thread, so that cannot be the problem.
I have modified Direct3D device creation inside irrlich to support Multithreading though.
I have also disabled mip maps on the texture I want to draw into.
Without locking the texture I get about 500fps, if I lock it and just unlock it right away the framerate drops to 37fps.
The prefered texture creation bit depth is set to 32bits.
![Confused :?](./images/smilies/icon_confused.gif)
Is that a known issue? Or am I doing something wrong?
Thanks for your help!
Phil