About Scene management and Renderer

Hi !
I’m back with another of my anoying questions, not so trivial after what I’ve read on the Internet.

To cull objects, I currently use a simple Octree (maybe another thing if needed, sparseoctree, or whatever).
To get the best from the renderer, one rule is you must avoid states switches on the GPU, ie batching objects of the same material/effect/anything to switch one time between types (opaques, then transparents, etc)
My question is here: is it faster to read from the octree the visibles items, and add them to the corresponding list/array/etc in the renderer (array of entities for ex, another one for particles emitters, one for lights etc), or render them whenever encountered, to avoid doing the job of travelling items twice.
At present, it is what i’m doing and it’s pretty fast, and this should be ok to be parallelized, but if anyone has advices to manage a scene’s objects, he is welcome :slight_smile: