gpt4 book ai didi

javascript - 在不到 1 毫秒的 Javascript 中计算 FPS

转载 作者:搜寻专家 更新时间:2023-11-01 04:18:39 25 4
gpt4 key购买 nike

是否可以测量所有浏览器都支持的小于 1 毫秒的时间间隔,我只知道 Chrome 中的一种方法。

chrome 方法:window.performance.now()

目前我在毫秒时间空间内进行 FPS 测量,但如果耗时少于 1 毫秒,我会得到无穷大,因为这两个数字四舍五入到最接近的毫秒,因此它们是相同的值。

有人知道跨浏览器函数在 javascript 中计算小于 1 毫秒的时间间隔吗?

最佳答案

这里介绍了如何在没有准确计时器的情况下获得准确的测量值,只要您的计时经常发生,我希望他们能在您的情况下做到这一点。

平均/汇总事件持续时间的不精确测量值。我的一个项目中的一个片段:

        var start = Date.now();
... (stuff to be timed)
var now = Date.now();

if (DEBUG.enabled) {
var profile_this_iter = now - start;
profile += (profile_this_iter - profile) * 0.02;
}

每个新的数值测量值都会使您的读数更接近它 0.02 倍。显然你会想要稍微调整一下。如果您一半时间读取持续时间为 1 毫秒,一半时间读取持续时间为 0 毫秒(使用 1 毫秒分辨率计时器),这将使您读取的平均值徘徊在 0.5 毫秒左右。

这显然不能替代更高分辨率的计时器。但我使用这个简单的算法为我的 javascript 项目提供了一个不糟糕的 FPS 读数。你会得到一个阻尼因子,你可以根据你是想要更高的准确性还是更直接地响应变化来调整它。考虑到这个算法的简单性,您很难找到一种更优雅的算法来为您提供良好的表示,而无需任何改进的输入数据。增强它的方法之一是根据采样频率本身(如果发生变化)调整接近因子(0.02 常数),这样可以使较慢的测量速率比固定值更快地收敛.

关于javascript - 在不到 1 毫秒的 Javascript 中计算 FPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15013562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com