毫秒级计时器

我想开发一个毫秒级的秒表,不知道应该用什么函数来实现毫秒的计时,百度也找不到,只能找到getMilliseconds(),但是在onLoad里无论写多少个getMilliseconds()获得的值都是一样的,怎么办?

买块板子用c写比较靠谱吧

买块板子用c写比较靠谱吧

Date.now()

以我的理解,你这个毫秒级是很不准的,起码Cocos 里面来说 现在都是设置60帧/秒 什么概念,就是 一秒钟渲染60次
这些还是理想状态下,你这个毫秒级如果在 Cocos Creator 里 是有误差的,就是有一段的时间内是一样的结果 比如 你想做个 一毫秒打印一个数字,按照理想状态 你要打印 1000次 每秒 但是,正常来讲 你打印 60次(理想状态)且你无法保证每个间隔都是均匀相等的

我给你个链接 你可以 看看 这个官方文档 就知道 为啥行不通了!

合作异步JavaScript: 超时和间隔

由于大多数屏幕的刷新率为60Hz,因此在使用web浏览器时,可以达到的最快帧速率是每秒60帧(FPS)。然而,更多的帧意味着更多的处理,这通常会导致卡顿和跳跃-也称为丢帧或跳帧。

如果您有一个刷新率为60Hz的显示器,并且希望达到60fps,则大约有16.7毫秒(1000/60)来执行动画代码来渲染每个帧。这提醒我们,我们需要注意每次通过动画循环时要运行的代码量。

requestAnimationFrame() 总是试图尽可能接近60帧/秒的值,当然有时这是不可能的如果你有一个非常复杂的动画,你是在一个缓慢的计算机上运行它,你的帧速率将更少。requestAnimationFrame() 会尽其所能利用现有资源提升帧速率。

楼上说的 Date.now() 和 Cocos 自带 的 cc.sys.now() 都可以获取 当前的毫秒数

1赞

performance.now()

1赞

好的,谢谢jare大神,我试了下,这个可以的,非常感谢

楼主怎么实现毫秒级的定时器呢?我需要实现一个定时任务发现每次都相差了几毫秒,然后差的越来越多,大佬求助