# Why does the camera's speed performance vary?

**URL:** <https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563>\
**Category:** Questions\
**Tags:** arcrotatecamera\
**Created:** [November 25, 2025, 10:22am UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563 "2025-11-25T10:22:53Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![xiehangyun](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/xiehangyun/32/30777_2.png) [@xiehangyun](https://forum.babylonjs.com/u/xiehangyun)\
**Post date:** [November 25, 2025, 10:22am UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/1 "2025-11-25T10:22:53Z")

</div>

Please take a look at this model.

[scene (9).zip](https://forum.babylonjs.com/uploads/short-url/3sLnIYPuPBsGNWIkJGPXrC3nTm1.zip) (824 Bytes)

He was 8.13.1 version

> **[Babylon.js Sandbox - View glTF, glb, obj and babylon files](https://sandbox.babylonjs.com/?version=8.13.1)**
>
> Viewer for glTF, glb, obj and babylon files powered by Babylon.js

and last version

> **[Babylon.js Sandbox - View glTF, glb, obj and babylon files](https://sandbox.babylonjs.com/)**
>
> Viewer for glTF, glb, obj and babylon files powered by Babylon.js

Camera speed performance is inconsistent.

What happened in between? In my program, speed is calculated based on the sandbox, using radius \* 0.2. How can I fix the camera rotation issue?

---

<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:** [November 25, 2025, 4:11pm UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/2 "2025-11-25T16:11:14Z")

</div>

cc @georgie

---

<div class="post-metadata">

**Author:** ![georgie](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/georgie/32/46049_2.png) [@georgie](https://forum.babylonjs.com/u/georgie)\
**Post date:** [November 25, 2025, 5:23pm UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/3 "2025-11-25T17:23:36Z")

</div>

I am investigating and will update soon!

---

<div class="post-metadata">

**Author:** ![georgie](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/georgie/32/46049_2.png) [@georgie](https://forum.babylonjs.com/u/georgie)\
**Post date:** [November 25, 2025, 6:18pm UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/4 "2025-11-25T18:18:35Z")

</div>

[This PR](https://github.com/BabylonJS/Babylon.js/commit/1808908d802449319b8b7f3ee8a6ca2931bbcf4a#diff-058148631353bb90134f4cecf195b8ea72bfc7c791d70de6015e331aa381ff51) is the reason for the difference

 ![image](https://us1.discourse-cdn.com/flex024/uploads/babylonjs/original/3X/9/c/9cd6b8942c3df387375adc1a61f036ba93e3cf96.png)

It was fixing a bug where we were using speed \* epsilon for radialinertia limit but not for alpha/beta inertia limit. So this will in fact change the threshold at which inertia kicks in. In your case, rather than using radius\*.2 you can lower speed so that it is a smaller factor of radius (try dividing by 1000 and adjusting from there) so that inertia clamping kicks in later

---

<div class="post-metadata">

**Author:** ![xiehangyun](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/xiehangyun/32/30777_2.png) [@xiehangyun](https://forum.babylonjs.com/u/xiehangyun)\
**Post date:** [November 26, 2025, 1:29am UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/5 "2025-11-26T01:29:51Z")

</div>

I tried changing it to “(radius / 1000) \* 0.2”，I achieved the desired effect.Does the sandbox also need to be updated?

---

<div class="post-metadata">

**Author:** ![georgie](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/georgie/32/46049_2.png) [@georgie](https://forum.babylonjs.com/u/georgie)\
**Post date:** [November 26, 2025, 6:55pm UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/6 "2025-11-26T18:55:02Z")

</div>

Note you can also change the panningEpsilon or rotationEpsilon to be inverse of speed if changing speed has undesired effects elsewhere.

Yes we should change sandbox to match old behavior, thank you for pointing out. Will address next week once camera folks are back from holiday

---

<div class="post-metadata">

**Author:** ![georgie](https://sea2.discourse-cdn.com/flex024/user_avatar/forum.babylonjs.com/georgie/32/46049_2.png) [@georgie](https://forum.babylonjs.com/u/georgie)\
**Post date:** [December 1, 2025, 7:19pm UTC](https://forum.babylonjs.com/t/why-does-the-cameras-speed-performance-vary/61563/7 "2025-12-01T19:19:13Z")

</div>

hey @xiehangyun we decided to revert the change which changed how inertial limit was determined and use the old behavior of simply using rotationEpsilon for the alpha/beta limit. that way we dont introduce any camera behavior changes behind the scenes – and we will address the confusion around parameter names / values in future using new parameters entirely.

which means no changes are needed for sandbox, and in your case u can remove the change to speed once the below PR gets released. thank you for reporting!

here is PR fix [Revert to old arcrotatecamera behavior where alpha/beta does not scale inertialLimit by speed by georginahalpern · Pull Request #17517 · BabylonJS/Babylon.js](https://github.com/BabylonJS/Babylon.js/pull/17517)
