Scene capture 2D: single capture with post processing material

I’m trying to conduct some massive data collection on what I produced and I need to take a single screen capture at every cycle of my test, using a texture render set on Final Color (LDR) and with a specified post processing material.

The problem is that having “capture every frame” active in my scene capture component massively slows down the computation (we’re talking about 2 second to over 40 for the very same number of cycles).
Obviously the scene capture component can take a screen when needed with the CaptureScene function, but doing so (with capture every frame off) means my post processing doesn’t get applied.
I’m doing this in C++ but operating directly in editor seems to have the same effect and I’m quite sure BP works the same.

What I wanted to know was firstly if this is a bug or there’s a reason for the behaviour of the component. And secondly, what solution is there to nullify or at least minimize the overhead due to the capture at every frame. I tried to play with properties of the scene capture like Visible, Active, Capture on Movement…but no progress, the only way to apply a PP material seems to leave capture every frame checked and that means bad performance.

1 Like

I think I have still the same issue in Unreal 4.27 and Unreal 5.
Is there a workaround?

For now I am just disabling the scene capture from the scene, and then when it is needed:

sceneCapture->SetVisibility(true); // to capture
sceneCapture->SetVisibility(false); // to deactivate back

but I am not sure this has a relevant effect on performances.
There is this related topic too:

1 Like