requestAnimationFrame调节帧率

let frameCount = 0;
const framesPerUpdate = 2; // 每2帧执行一次动画逻辑

function animate() {
  frameCount++;

  // 在这里执行你的动画逻辑
  // ...

  // 控制每两次循环执行一次动画逻辑
  if (frameCount % framesPerUpdate === 0) {
    // 在这里执行你的动画逻辑

    // 重置帧计数器
    frameCount = 0;
  }

  // 调用requestAnimationFrame,形成动画循环
  requestAnimationFrame(animate);
}
let lastTime = performance.now();
let frameCount = 0;
let fps = 0;

function update() {
    // Get the current time
    const now = performance.now();
    // Calculate the time difference since the last frame
    const delta = now - lastTime;

    frameCount++;
    if (delta >= 1000) {
        // Update the FPS value
        fps = frameCount / (delta / 1000);
        // Reset the counters
        frameCount = 0;
        lastTime = now;
        // Log the FPS
        console.log(`FPS: ${fps.toFixed(2)}`);
    }

    // Request the next frame
    requestAnimationFrame(update);
}

// Start the update loop
update();

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值