Fixes the physics/camera juddering by increasing the physics engine update rate. Increases the physics engine update rate from the default 60 hz to 540 hz. Also includes optional presets for 360 hz, 240 hz and 120 hz update rates.
If you have a low end CPU, you might have to select a lower preset (like 240 hz) to reach 60 FPS at all times. Using this mod increases the CPU requirements for this game.
Note:
When using this mod, it's strongly recommended to also use the mod Unwild Run (Physics Fix) or some other mod that fixes the insane Wild Run center of gravity offset height values for vehicles. If these values are not fixed with a mod, increasing the physics engine update rate causes even more erratic vehicle behaviour in cutscenes.
Currently the other physics mod (by Dr. Droid, FRC) does not include these center of gravity offset value fixes so only applying that physics mod is not enough when using Judder No More. You have to also apply Unwild Run (Physics Fix). You can have both of our physics mods running at the same time if you use PitCrew's priority setting.
Explanation
In a fixed‑timestep physics engine, the simulation advances in discrete steps (60 times per second for example). If the rendering frame rate (57 FPS for example) doesn’t divide evenly into the physics rate (60 hz), then frames will sometimes "land" between physics steps. This causes a visible juddering effect for the camera movement because the camera is tied to the physics object (vehicle). Normally, game engines solve this with interpolation (smoothing).
By default, The Crew runs its physics engine at 60 hz and does not implement proper interpolation (smoothing) for the physics. This causes a juddering effect if your game is not running at exactly 30 FPS or 60 FPS. When the physics engine update rate is increased to 540 hz with this mod, the juddering becomes less perceptible.
Even with powerful hardware, the juddering is basically impossible to prevent in the default game because it suffers from poor frame pacing (uneven frame times) and frequent frame drops. Usually when you are driving around a city, you'll experience a dropped frame at least every few minutes. When this happens in the default game, you will also usually see a long lasting judder after the frame drop. At that moment, the physics engine update rate and the rendering frame rate are out of sync which causes a long lasting judder.
Additional information
By default, the game doesn't allow other frame rates than 30 FPS or 60 FPS if you want to ensure smooth gameplay. With this mod your FPS locking options are increased. This is useful for Steam Deck users and players with low end hardware. If you can't reach 60 FPS at all times, you can set your physics update rate to 240 hz and then choose to lock at 48 FPS for example. In this case you would of course also want to set your screen refresh rate at 48 hz or use a VRR screen.
All presets can go down to 15 FPS without experiencing a slowmotion effect in gameplay. This is controlled by the MaxIterations value that is also tweaked along with the physics engine update rate.
Different FPS locking options for the presets:
- 540 hz update rate evenly divides with 60, 54, 45, 36, 30, 27, 20, 18 and 15 FPS.
- 360 hz update rate evenly divides with 60, 45, 40, 36, 30, 24, 20, 18 and 15 FPS.
- 240 hz update rate evenly divides with 60, 48, 40, 30, 24, 20, 16, 15 FPS.
- 120 hz update rate evenly divides with 60, 40, 30, 24, 20 and 15 FPS.
In most cases, I would recommend 540 hz because it's a high enough value that even when you are NOT running at a frame rate that evenly divides into 540 hz (57 FPS for example), the steps between the updates are very small which makes the juddering imperceptible.
For wheel users
If you have to increase the FFB_WaitRate to get an acceptable FPS in the default game while using your wheel, with this mod applied at 540 hz you will have to considerably increase the FFB_WaitRate value from normal.
It seems that increasing the physics engine update rate also multiplies the FFB update rate. Because of this, you should not be losing any FFB precision even when you have to set the FFB_WaitRate to a very high value.
So for example, if you normally have to set your FFB_WaitRate to 4, with the mod applied at 540 hz you might have to raise the FFB_WaitRate to 40. Thanks Takaoshi for testing this with a Moza R9 wheel.