My project is on Unity3d 5. I have 6 cameras with Syphon into my scene taking different things. I use these textures in Resolume to do a video mapping on different screens during a performance.
Since it’s a real-time performance, reactivity is crucial and I need to optimize my performance.
I found that my bottleneck is Syphon. I can see it inside the profiler that it’s taking at least half of the ressource. And when I deactivate the scripts, the fps increases quite a lot.
Is there some tips I must use to optimize the use of Syphon inside Unity?
I have only one instance of the script Syphon.
Each camera has an instance of SyphonserverTextureCustomResolution and SyphonServerAlphaOne.
I need all the cameras active all the time because they are projected on different screens.
The problem might also come from Unity itself by using multiple cameras in a scene… I tried to optimize by using layers occuling but that part is still taking ressources.
Turn your servers off (stop publishing) but keep your cameras running / rendering to texture, and see if that changes anything WRT to performance. There is some slight overhead due to how Syphon copies textures so to speak, but i imagine rendering 6x is main the overhead.
When you say turn servers off, you mean deactivating the single script Syphon and leave the others SyphonServerTextureCustomResolution scripts activated?
If so, it doesn’t change anything to the FPS. In that case, I think the main thing pulling the ressources is to render the cameras to textures before sending them to Syphon.
But, if that means deactivating all the SyphonServerTextureCustomResolution script on each camera, then it does quite a difference.