# How to imporve performance on mobile more effectively?

**URL:** <https://forum.babylonjs.com/t/how-to-imporve-performance-on-mobile-more-effectively/49593>\
**Category:** Questions\
**Created:** [April 12, 2024, 12:43pm UTC](https://forum.babylonjs.com/t/how-to-imporve-performance-on-mobile-more-effectively/49593 "2024-04-12T12:43:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![DWork](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@DWork](https://forum.babylonjs.com/u/DWork)\
**Post date:** [April 12, 2024, 12:43pm UTC](https://forum.babylonjs.com/t/how-to-imporve-performance-on-mobile-more-effectively/49593/1 "2024-04-12T12:43:21Z")

</div>

The same gltf run on Babylonjs and Threejs on Android/IOS. The result is Threejs more smoother. Threejs get higher FPS. Even though i have followed the doc to optimize scene, Babylonjs still get lower FPS. What’s the different between two 3D frameworks? I don’t know how to solve it, becase the test result have a gap between two framworks. Bjs = Lower FPS, Threejs = Higher FPS.

> [Babylon.js docs](https://doc.babylonjs.com/features/featuresDeepDive/scene/optimize_your_scene)

---

<div class="post-metadata">

**Author:** ![Deltakosh](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/deltakosh/32/26635_2.png) [@Deltakosh](https://forum.babylonjs.com/u/Deltakosh)\
**Post date:** [April 12, 2024, 4:14pm UTC](https://forum.babylonjs.com/t/how-to-imporve-performance-on-mobile-more-effectively/49593/2 "2024-04-12T16:14:31Z")

</div>

Well 🙂 can you share both repros so we can investigate?

Did you use the Agressive option from the optimization level here?  
[Optimizing Your Scene | Babylon.js Documentation (babylonjs.com)](https://doc.babylonjs.com/features/featuresDeepDive/scene/optimize_your_scene#agressive-mode)

---

<div class="post-metadata">

**Author:** ![DWork](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@DWork](https://forum.babylonjs.com/u/DWork)\
**Post date:** [April 12, 2024, 4:26pm UTC](https://forum.babylonjs.com/t/how-to-imporve-performance-on-mobile-more-effectively/49593/3 "2024-04-12T16:26:26Z")

</div>

I’ll upload two project later

---

<div class="post-metadata">

**Author:** ![DWork](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@DWork](https://forum.babylonjs.com/u/DWork)\
**Post date:** [April 13, 2024, 4:56pm UTC](https://forum.babylonjs.com/t/how-to-imporve-performance-on-mobile-more-effectively/49593/4 "2024-04-13T16:56:47Z")

</div>

I’ve found the problem. Cause of using CascadedShadowGenerator instead of ShadowGenrator. CSG causes gl.readPixels() to do huge calculations. This issue is not obvious on PC but very pronounced on mobile.
