This is strange, because when I go from a fixed timestep of 0.02 to 0.002, a 500hz simulation (1/0.002) I get a pretty bouncy suspension with 50k springs.
I think I might know what your problem could be.
Do you use any physics middleware??
If so, we have a catch 22 situation here :)
Physics engines, like Bullet, Havok, Newton, whaterever, updates at 60Hz.
If you crank up your simulation speed to let's say 300Hz, it means the the car dynamics is updated 5times more frequently than the rigid body physics itself.
Let's see an example:
1. step, the suspension and tire generate 2000N force that pushes the chassis upwards. You call, PhysicsEngine->body->ApplyForceAtPosition()..
2. step, The rigid body is not updated because it's time has not came yet, so you update the car again, 2000N force added to the rigid body again...
.
.
.
5. step, the car update has ran 5 times added 10000N force to the body so far
6. step, The physics engine gets updated and all the accumulated forces act on the car's body. Probable 5times more that actually needed.
Either you can divide the calculated forces upon the ratio of "physics:dynamics". So AppliedForce=TotalForce*60/300;
The problem with that is if your car's body is updated at only 60Hz, and your calculations depend on the car's body, you don't gain anything with using smaller timesteps, but 50Hz is clearly not enough for a 50KN/m suspension.