跳转至内容

14. 零,一,教程

3.10,看了 BYTEPATH 的 0001 两篇。

垂直同步

启用垂直同步 Vsync 后,游戏帧率将与显示器的刷新率保持一致。

关闭垂直同步,不会等显示器的刷新,全速占用 CPU,可能会导致画面撕裂。

lua
function love.load()
    love.window.setTitle("Vsync Test")
    love.window.setMode(400, 300, { vsync = true }) -- 120 左右
    -- love.window.setMode(400, 300, { vsync = false }) -- 500 左右
    frame = 0
    elapsed = 0
end

function love.update(dt)
    elapsed = elapsed + dt
    if elapsed >= 1 then
        love.event.quit()
        return
    end

    frame = frame + 1
    print(frame)
end

love.run 中默认的 love.timer.sleep(0.001) 让 CPU 每帧暂停 0.001 秒,将最高帧率限制在 1000 左右。