Hello,
We have been working on something that should provide similar capabilities as Syphon on Windows.
We started by naively sharing single-surface textures between applications, without synchronizing the access. In some cases this can cause flickering when one app is reading the texture while another app is rendering to that texture at the same time.
Some options to resolve this is to lock the texture in some way. This could cause delays in the reader, if it has to wait for the writer to finish rendering. An even better solution would be some kind of double texture, so you have a front-buffer that can be used safely by the reader, and a back-buffer that can be used safely by the writer.
We were wondering how this problem has been solved in Syphon, maybe this gives us some ideas on how to solve this.
So if one of the developers of Syphon could tell us something more, or point us to the right place in the source-code, so we could check how it’s done, we’d be grateful.
Thanks a lot.