Hi there, thanks so much! Just adding
if (socket.gettime() - self.fpsclock) > 0.018 then
print(socket.gettime() - self.fpsclock)
end
self.fpsclock = socket.gettime()
in fixed_update and initializing self.fpsclock in init already shows occasional random increases to 33 ms on my system. You do not recognize this in the example because nothing is moving in the end, but if you would now move with the camera around it would stutter.
I am not sure, in your example it might in fact be the physics collision that increases its runtime randomly in time, for me it seems to be the script.
BTW, sporadic fps drops also already occur with 100 objects … for me
Curious how this is for you