Questions about the LÖVE API, installing LÖVE and other support related questions go here.
Before you make a thread asking for help, read this
- Posts: 1
- Joined: Mon Oct 15, 2018 12:03 am
I'm playing around with deliberately trying to limit the FPS of my game. I've modified love.run to do this, using an accumulator and updating every 1/30th of a second. I believe this should only draw to the screen once every 1/30th of a second, approximately.
Code: Select all
if love.timer then dt = love.timer.step() end
accumulator = accumulator + dt
if accumulator >= tick_rate then
accumulator = 0
if love.update then love.update() end
if love.graphics and love.graphics.isActive() then
if love.draw then love.draw() end
if love.timer then love.timer.sleep(0.001) end
For some reason, love.timer.getFPS() reports very high FPS (400+) even with vsync on. Why is this?
- Party member
- Posts: 2482
- Joined: Thu Dec 13, 2012 2:55 pm
- Location: Absurdistan, Hungary
Hi and welcome to the forums!
Löve uses its internal timer... internally, to calculate the value you get back with getFPS and with related functions as well; basically, it's all dependent on the love.timer.step() call, which -is- outside your fixed time step function.
getFPS does not do any magic with detecting how fast löve renders frames to the gpu, basically.
You could redefine the function, to return 1 / tick_rate, but... that's kinda pointless if implemented exactly like that.
Me and my stuff True Neutral Aspirant. Why, yes, i do indeed enjoy sarcastically correcting others when they make the most blatant of spelling mistakes. No bullying or trolling the innocent tho.
Users browsing this forum: No registered users and 7 guests