# Could Someone Give me Guidance on Optimizing Complex Meshes for Real-Time Rendering in Babylon.js?

**URL:** <https://forum.babylonjs.com/t/could-someone-give-me-guidance-on-optimizing-complex-meshes-for-real-time-rendering-in-babylon-js/52974>\
**Category:** Questions\
**Tags:** tutorial, gui, material\
**Created:** [August 23, 2024, 9:41am UTC](https://forum.babylonjs.com/t/could-someone-give-me-guidance-on-optimizing-complex-meshes-for-real-time-rendering-in-babylon-js/52974 "2024-08-23T09:41:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mitcheeljohns](https://avatars.discourse-cdn.com/v4/letter/m/dbc845/32.png) [@mitcheeljohns](https://forum.babylonjs.com/u/mitcheeljohns)\
**Post date:** [August 23, 2024, 9:41am UTC](https://forum.babylonjs.com/t/could-someone-give-me-guidance-on-optimizing-complex-meshes-for-real-time-rendering-in-babylon-js/52974/1 "2024-08-23T09:41:01Z")

</div>

Hello there.

I am working on a project where I need to render complex 3D models in real time using Babylon.js. While I have made significant progress; I am facing challenges with performance; especially when handling detailed meshes.

The models I am working with have a high polygon count. They are essential for the visual fidelity required in the application, but they are causing noticeable frame rate drops.

I have implemented Level of Detail (LOD) and used mesh simplification techniques, but the improvements are still not sufficient for a smooth experience across different devices.

Additionally, I have experimented with different material optimizations, such as using simpler shaders and reducing texture resolution, yet performance is still suboptimal.

The project needs to run on a range of devices, including mid-range mobile devices; so I am particularly concerned about ensuring it’s optimized well for lower end hardware.

Are there specific best practices in Babylon.js for handling and optimizing complex meshes that I might have overlooked? Any tips on balancing visual quality with performance? 🤔

What advanced optimization techniques could be applicable in this scenario? For instance; would using Web Workers for parallel processing or GPU instancing be beneficial in my case? 🤔

Also, I have gone through this post; [https://forum.babylonjs.com/t/optimizing-the-scene-for-a-huge-amount-of-simple-meshes-](https://forum.babylonjs.com/t/optimizing-the-scene-for-a-huge-amount-of-simple-meshes/7398)[mlops/](https://www.igmguru.com/machine-learning-ai/mlops-course-certification) which definitely helped me out a lot.

Are there tools or plugins within the Babylon.js ecosystem that can help analyze and optimize performance for complex scenes? 🤔

Thanks in advance for your help and assistance. 😇

---

<div class="post-metadata">

**Author:** ![mawa](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/mawa/32/12384_2.png) [@mawa](https://forum.babylonjs.com/u/mawa)\
**Post date:** [August 23, 2024, 10:10am UTC](https://forum.babylonjs.com/t/could-someone-give-me-guidance-on-optimizing-complex-meshes-for-real-time-rendering-in-babylon-js/52974/2 "2024-08-23T10:10:30Z")

</div>

Hi and welcome to the Community,  
I believe you’ve come to the right place to ask for this…however, since it’s friday and the Team is partly in NA, you will eventually need a bit of patience to get the most accurate answers.

I’m no performance specialist, essentially a designer, so all I can say about this might be just kind of ‘high-level’. The other thing is that without a PG ([playground](https://doc.babylonjs.com/toolsAndResources/thePlayground)) and without a [sample of a model](https://doc.babylonjs.com/toolsAndResources/thePlayground/externalPGAssets) and the context, it will be hard to provide with accurate feedback on where you should start with the optimization process.

High level, what I can say is that if your model is (as you say) very detailed and high-poly + you’re targeting a wide range of devices from low-end to high-end, probably you should consider using already a different source, detecting the device and OS.

I may be ‘old-school’ for this but my moto is that an inappropriate source even when undergoing a number of transform operations will still remain an ‘inappropriate source’ flavored with some pre- or post-.

> [@mitcheeljohns](#):
>
> ; would using Web Workers for parallel processing or GPU instancing be beneficial

Again, not sure anyone will be able to answer this without knowing a bit more about your project.  
So far, you’ve been writing about the size of your meshes/poly count. And you mentionned you’ve used LOD. I don’t think that’s enough to determine whether this technique will really help towards your objective.

> [@mitcheeljohns](#):
>
> Are there tools or plugins within the Babylon.js ecosystem that can help analyze and optimize performance

Again, not a performance specialist (so you should wait for the others to reply). But as far as I know and aside from the [scene optimizer](https://doc.babylonjs.com/features/featuresDeepDive/scene/sceneOptimizer) and of course the ‘Performance Viewer’ from ’ [The Inspector](https://doc.babylonjs.com/toolsAndResources/inspector)’, I wouldn’t know of any other tool that’s specific to BJS.  
Usually, the common tools for measuring performance in WebGL/WebGPU would apply. At least, as far as I know.

Again, welcome to our Community and if by any chance you could set-up this PG, I’m sure it will help you get faster and more accurate replies.  
Meanwhile, have a great day 🕶
