If the job system can handle doing culling, it would speed up enormously rendering several cameras, like when using split screen. Culling of extra cameras could happen on a custom SRP after the culling of the first camera is done (or even while the culling of the first camera is being done). Right now 4 cameras in split screen take several milliseconds on culling alone that could be alleviated with the multithreading the job system provides, specially given that culling could be done while filling the commandbuffers, pipelining the process
If you use the built in culling system it already runs in multiple threads.
If you use the BatchRenderer you have to write your own culling, but you can use jobs.
The only downside is that Unity haven’t released enough information to make this work…
But I can’t create a cull camera job, schedule it, then do other stuff and finally Complete() the the job. It’s “create and complete” on a single step, so it’s single thread from the API point of view
If not, I would really like to know how I can cull a camera while filling command buffers or doing anything else, because I can’t call Cull from another thread or from a job
https://docs.unity3d.com/ScriptReference/Rendering.ScriptableRenderContext.Cull.html
I assume there’s no way to fill a command buffer or to perform culling on a job or a different thread, then. That will be a performance problem for doing splitscreen