The most important discovery was that of love.run, without which this would not be possible. I defined the default code and proceeded to modify it. I also defined love.fps=42 in conf.lua.
love.draw First I tried only calling love.draw after 1/desired_fps seconds which did work however FRAPS reported that the framerate was actually the update rate (650ish rather than the 42 I was using to test). love.timer.getFPS was also reporting the update rate so I then moved onto...
love.update This modification was much simpler. Change
Code: Select all
if love.timer then love.timer.sleep(0.001) end
Code: Select all
if love.timer then love.timer.sleep(1/love.fps) end
If you wish to retain the smaller update increments you may not want to use the update method but I'm not sure if the draw method provides any real benefit since the framework appears to be drawing each update anyway.