Multiple cameras rendering to screens tanking performance

Hi there

We’re currently working on a project in which numerous cameras are set up, feeding streams to planes in game like CCTV screens. There are currently 12 cameras set up in various places that all render to the panels that act as CCTV screens.

The method we are currently using is really heavy on performance and drops FPS into the single digits. The current workaround we are using is that the CCTV screens render a flat texture render of the scene it is looking at until something comes into view, at which point the actual camera feed becomes active.

The problem is, we want cameras to be panning and we want moving things in the environment, which obviously doesn’t work with static renders.

What would you suggest we do?


You are use Scene Capture 2D class or you use your own method?

Yeah we are currently using Scene Capture 2D. Would we be better off using something else?

Try changing the resolution of the texture you capture too.
You could also try limiting the update rate and/or manually update it at a set rate by ever so slightly adjust its position (rotation?) as required.
If and when the player gets close/focuses on a particular screen, speed it back up and increase the resolution.

Thanks for the reponse!

How would I go about limiting/changing the update rate in blueprint?

Disable Capture Every Frame, then setup a timer to manually turn/move it so it recaptures another frame.
e.g. For 10 frames a second, set the timer to 0.1 seconds.

You could always keep the camera mesh and capture comp separate, allow the mesh to update at normal speed for the visuals/position, then match its rotation/location using the timer.

Thanks for the reply, and sorry for my late response. I had put this project on hold.

I’m currently trying to limit the capture every frame, but the Set/Get Capture Every Frame node isn’t compatible with a SceneCapture2D component? What am I missing?