Merging Static Geometries vs Individual Entities: Which Approach Yields Higher Mobile Frame Rates?
0 reputation · 30 Nov 2020, 06:55 UTC
Merging Static Geometries vs Individual Entities
When targeting mobile browsers with limited GPU bandwidth, the decision between pre‑merging static meshes into a single BufferGeometry or rendering each entity separately can directly influence frame‑rate performance.
Key constraints:
- Merge cost: one‑time CPU overhead using
BufferGeometryUtils.mergeBufferGeometries, no runtime draw‑call penalty. - Individual entities: higher draw‑call count but allow per‑entity animation, physics, and unique material overrides.
- Dynamic content: merged geometries must be rebuilt on any change, potentially stalling the main thread.
- GPU limits: a very large merged geometry may exceed vertex or memory limits on older mobile GPUs.
To evaluate which strategy best meets mobile frame‑rate goals, consider the following:
- For 200 static cubes sharing a material, does merging into a single
BufferGeometryreduce draw calls enough to noticeably improve FPS on an average Android device? - How does the one‑time CPU cost of merging compare to the runtime draw‑call overhead on typical mobile GPUs (e.g., Adreno 630 vs Apple A14)?
- What GPU limits might be exceeded by a large merged geometry on older mobile GPUs, and how can these be mitigated?