FPS drop using Syphon

Hi folks, I’m starting to use Syphon and its Recorder app to capture a video of the output of my Cinder app. Thanks to https://github.com/gaborpapp/Cinder-Syphon I’ve been able to get setup pretty easily with a Syphon server to publish the output of my app to the Recorder. Everything works as expected except I noticed a big FPS drop from 60 to 30 when I call publishScreen(). Even when I draw just one red rectangle the FPS is 30.

My understanding was that Syphon was supposed to be very fast because the frame content doesn’t leave the GPU, so I’m wondering if I’m doing something wrong? Is Syphon being capped at 30 somehow? Not sure that’s relevant but my app is drawing two windows and I’m only publishing the output of one of them.

Thanks for your help :slight_smile:

Use publishTexture instead of publishScreen. publishScreen downloads the window contents from the GPU, which is slow. Draw into an Fbo and publish the Fbo texture instead.

Two windows can also cause 30 fps if you wait for vertical sync, but I think this is not the issue here.

-Gabor

1 Like

@gabor_papp that fixed it! Thanks so much for coming to the rescue once again :heart_eyes:

1 Like