diff --git a/src/mol-canvas3d/controls/trackball.ts b/src/mol-canvas3d/controls/trackball.ts index fc9b7fce064e166176c71e9a3aa2a0d4b6d1d6fc..c6fda8183bf22040675956c8b841c719ab0a5d13 100644 --- a/src/mol-canvas3d/controls/trackball.ts +++ b/src/mol-canvas3d/controls/trackball.ts @@ -503,8 +503,10 @@ namespace TrackballControls { Vec3.add(camera.position, camera.target, _eye); checkDistances(); - if (lastUpdated > 0 && deltaT < 1000) { - moveCamera(deltaT); + if (lastUpdated > 0) { + // clamp the maximum step size at 15 frames to avoid too big jumps + // TODO: make this a parameter? + moveCamera(Math.min(deltaT, 15 * 1000 / 60)); } Vec3.sub(_eye, camera.position, camera.target);