首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Cocos2d环境中运行计时器的准确性

在Cocos2d环境中运行计时器的准确性
EN

Stack Overflow用户
提问于 2013-01-25 06:00:10
回答 2查看 117关注 0票数 0

我有一个运行计时器可见的游戏,但只能达到小数以外的2位精度(#.##)。这是框架的限制,还是有解决办法?我试图在这个定时器上达到4-6位数的精度(#.######)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-25 06:04:07

iOS上的定时器运行在60 why的最大频率,所以这就是为什么你只能得到两位数的精度。

您可以通过计算事件的时间和开始时间来解决问题,然后在事件结束时计算差值。这一次不会考虑到像帧速率下降,暂停和移动到背景中的事情。

票数 2
EN

Stack Overflow用户

发布于 2013-01-25 06:05:14

这是底层系统的一个限制。iOS不是实时系统,定时器在所谓的运行循环上进行调度,一旦定时器到期,它就会分派定时器。但是,为了让计时器得到准确的调度,run循环必须足够频繁地运行,并在每次迭代时检查计时器。然而,run循环还运行其他东西,例如,整个事件机制,消息和网络都在run循环上运行,因此您的计时器不会每隔几纳秒检查一次(此外,run循环运行不一致,但也会给系统返回一些时间)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14511596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档