It shouldn’t unless I wrote something out incorrectly. It just forces the damping part of your update to use the exact same step value each time. If desiredTimeStep is significantly smaller than the average DeltaTime, you’d be running that while loop a bunch of times each frame with smaller delta values.
Quick examples with completely arbitrary numbers:
Let’s say your average DeltaTime is 10 and your desiredTimeStep is 5. Each frame you’d dampen your velocity 2 times using your desired “5” for each iteration. If you have some really fast frames back to back and the DeltaTimes are 1 each, you don’t dampen at all until it accumulates to 5, and then you use 5 again the next frame. It also maintains its consistency by carrying over the leftover time so you aren’t dropping anything. If you get a frame with a DeltaTime of 12, you’d carry 2 of those over and they’d get rolled into the next frame’s time.
Each dampening will be completely consistent whether your actual framerate is faster or slower than “desired”.
EDIT: I changed the code I posted above. I used the wrong variable for the actual damping. It was supposed to be desiredTimeStep and not elapsedTime. That would have been completely wrong. Fixed now though.