When 4 SceneCaptureCube components are used to collect scene data in real time, the fps is only about 10,How to optimize to increase frame rate?
Hey there @hepeng323! Welcome to the community! Depends on the use case really. Do all 4 need to be 100% real time at once? Could they be parred down Scenecapture2Ds? Real time scene captures are always expensive.
Each capture cube will be rendering the scene 6 times (one for each side of the cube). 4 captures means you’re rendering 24 cameras, plus the player camera. There is no optimized way to to render the scene 25+ times simultaneously.
If you keep the resolution low, and capture updates less frequently (and one at a time) then you can significantly improve performance. For example, if you update each of them 15 times per second, and alternate which is being updated, they can still update pretty often but the cost will be much less since only one will be active at a time (assuming 60 fps).
The project required four cubes to be updated in real time, resulting in a very low frame rate. Is there any other way to substitute the same
The project requires high synchronization, and the deviation of each cube will be relatively large for high-speed moving objects with different frames. I already do not know how to optimize, low frame rate and cause the program is not smooth
if you’re willing to code c++ and some shaders you could attempt to do it with dual hemisphere capture instead of a cubemap. reduces the rendering to 8 camera passes instead of 24. if you wanna go bonkers with shaders, i guess, you could even project a full spheremap or a 360 style rendering. the latter has 2 warping points tho, while the sphere map has only (you can hide facing away from the player camera).
Would hemispheres like Glitch recommended work for your use case? Because at the end of the day every time you render another viewport you’re basically multiplying the load. If possible, you could also reduce what the maps capture ie only alpha, only specific meshes etc. in the details.