And in my real case (with many meshes), I found it can improve perfomance dramatically to replace scene.render() with scene.render(false) for avoiding duplicated camera updating (because camera has been updated by render loop). See: https://www.babylonjs-playground.com/#UNB24W#6
Hi,
nice thread! The example by @Evgeni_Popov is done with the ArcRotateCamera. Any chance to do it with other cameras such as FreeCamera, too? FreeCamera does not seem to expose an inertia value.
But that will cause some input doesn’t work, such as the moving by the keyboard in FreeCamera, having a look https://www.babylonjs-playground.com/#UNB24W#13, moving by the keyboard (arrow keys) doesn’t work, after uncommenting the camera.update(), anything works well.
After searching the source code, I found keyboard inputs checking (camera._checkInputs()) only called by camera.update():
It is broken for me. Sometimes - when I click and drag - the view does not change. When I release the mouse button, the view jumps to the new position. @PolygonalSun gives some explanations on what has changed in the thread I mentioned above.