<p dir="auto"><strong>Is your feature request related to a problem? Please describe.</strong></p>
<p dir="auto">I'm struggling with a poor performance when certain number of meshes are being rendered.</p>
<p dir="auto">Doing some research about the inner working of the threejs pipeline, I found that in the render process is being performed a filtering with the purpose of renders only visible objects laying within the camera frustum. But despite to be nesting the meshes in groups, the process of filtering is performed only in Mesh, Line or Point objects.</p>
<p dir="auto"><strong>Describe the solution you'd like</strong></p>
<p dir="auto">Could be interesting to implement the possibility of computing bounding boxes in Groups to avoid to check their children if them are laying outside the camera frustum.</p>
<p dir="auto">For example if you have a scene with 100 groups of 10 meshes each, with the actual way there are performed a 1000 of checks to know what meshes are laying within the camera frustum. Implementing bounding boxes in groups, only 100 checks would be needed to know what groups are laying within the camera frustum and then checks the children of groups which tested positive.</p>
<p dir="auto">The bounding box of the group could be updated by the user or each time a children is added or removed, performing an union with the children's bounding box.</p>
<p dir="auto">And the same could be applied in Raycaster</p>
<p dir="auto"><strong>Describe alternatives you've considered</strong></p>
<p dir="auto">I have structured the scene in chunks, so my idea is to perform a pre filter before call the render method.</p>
<p dir="auto"><strong>Additional context</strong></p>
<ul dir="auto">
<li></li>
</ul>
<p dir="auto">At the moment <code class="notranslate">BufferGeometry</code>'s groups are sorted using the centre of the whole BufferGeometry. In the near future we could consider having a <code class="notranslate">BoundingSphere</code> per group so transparent sub parts of a geometry get proper sorted.</p>
<p dir="auto">Follow up from <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="103756213" data-permission-text="Title is private" data-url="https://github.com/mrdoob/three.js/issues/7066" data-hovercard-type="issue" data-hovercard-url="/mrdoob/three.js/issues/7066/hovercard" href="https://github.com/mrdoob/three.js/issues/7066">#7066</a>.</p>