使用滴答处理程序进行Aframe FPS调整

问题描述 投票:1回答:1

这里是新手。我正在尝试使用滴答处理程序将FPS从默认的60、72 90调整为30。在花了一些时间试图理解游戏循环,FPS和在这种情况下的滴答处理程序之后,我仍然无法掌握如何实现这一点。这是我一直在摆弄的代码,但没有乐趣。

    AFRAME.registerComponent('FPS-30', {
  init: function () {

    this.tick = AFRAME.utils.throttleTick(this.tick, 33, this);
  },

  tick: function (t, dt) {}
});

    AFRAME.registerComponent('FPS-30', {
tick: utils.throttleTick(function(t, dt){}, 33);
});

herehere中所述。我已经将该组件附加到a-scene元素以及a-entity上,但到目前为止没有成功!有人可以阐明如何实现这一目标吗?谢谢!

aframe frame-rate
1个回答
0
投票

您无法将FPS锁定为特定值。 A帧渲染循环在2D模式下以requestAnimationFrame(通常为60)定义的速率触发,在VR模式下以60、72、90 ...可用耳机的固有刷新率触发。不建议应用程序进行干扰,因为如果不正确同步,可能会发生时间敏感的操作,例如帧提交,重新投影或传感器读数,可能无法按预期工作。

尽管您可以通过tick控制组件throttleTick方法的触发率。下面是它工作的一个例子。注意控制台消息以毫秒为单位打印两次滴答调用之间的时间:

https://glitch.com/edit/#!/congruous-weak-thumb?path=index.html%3A12%3A10

© www.soinside.com 2019 - 2024. All rights reserved.