dx9ex shared textures are great, because they allow you to have 1 vvvv instance generating frames (I will call this the server), and another 1 displaying them (the client). This would make switching patches in a separate instance possible, thus keeping the ‘main’ framerate pretty constant.
Now I created some simple patches, where 1 of them generates frames, and the other one displays the texture. The generated frames use a DX9Texture node to turn them into a shared texture.
I was wondering if this is completely ‘safe’. I mean:
- can i assume that the texture is locked as long as it is been drawn to? Or is it possible that the client displays a half-drawn frame? (I seem to have noticed some strange frames, but now they seem to be gone)
- if it’s a heavy scene, would that mean the texture will be locked for a long time by the server, and would that slow down the client as a result?
- if so, would we need some kind of mutiple buffering mechanism if we were to build something like Syphon for Windows?
Who can shed some light on these questions?