1秒等于多少ms秒!ms毫秒等于多少秒

之前有提到,引擎中会有一些自动调用的“事件”或“函数”,例如BeginPlay等等。所以当你写好自己的逻辑,却不知道如何启用的时候,往往就可以考虑这些现成的起始点。而本次要说的是常见但也极为重要的“事件Tick”。

秒等于多少ms秒!ms毫秒等于多少秒"

事件Tick非常好用,也非常强大,但它强大到有可能会让引擎“心累”的地步。而在说明具体原因前,我们先需要了解什么是“帧”。

秒等于多少ms秒!ms毫秒等于多少秒"

这个帧不是指在百度百科查到的所谓“数据帧”的概念,而是在电影,动画等方面来说,帧就等于一张画面而一张画面到下一张画面,中间的时间间隔就是“帧间隔”。我们应该或多或少见过类似于下面这种翻画

秒等于多少ms秒!ms毫秒等于多少秒"

这种由一张一张静止的画面,然后通过手拨翻的方式,从而在我们的视觉里形成了“动画”的效果。这里面每一张画其实就可以理解为“一帧”,而每次手翻(一张画面到下一张画面)的时间,就可以理解为“帧间隔”。我们现在看的电影,动画等任何动态图像其实都是使用了这种方法。

秒等于多少ms秒!ms毫秒等于多少秒"

而对打游戏的老铁,更多的了解的是“FPS”这个概念,而FPS就是“一秒内多少帧”的意思。30FPS就是“一秒30帧”,那么帧间隔就是“1秒除以30”约等于0.033秒,也就是33毫秒(记作33ms)。而60FPS自然就是一秒60帧,帧间隔以“1秒除以60”约等于0.016秒,也就是16毫秒(记作16ms)。依次类推到120FPS等等。

秒等于多少ms秒!ms毫秒等于多少秒"

说完了帧间隔,就可以回到引擎中的“事件Tick”来了。事件Tick就是在你运行时,每过一个帧间隔,引擎就会调用一次这个Tick事件,就这么简单。

秒等于多少ms秒!ms毫秒等于多少秒"

虽然简单,但是它可以帮助你在某一段甚至整个时间内,持续执行某个逻辑流程,从而达到监控整个过程的目的。而这在我们写项目的时候是非常常见的需求,因为有的步骤你需要等待前面某个步骤完成你才能继续,这其中最简单的方法就是用Tick。

秒等于多少ms秒!ms毫秒等于多少秒"

然而,有好处自然就有坏处。前面有说到,Tick是一个帧间隔就会调用一次,以常见的一秒60帧为例,那么一秒内,Tick就直接调用了60次。如果只是简单的流程还好,要是一个极其复杂且庞大的流程,这时候你还用Tick,不仅会让你的项目运行起来极其的慢,甚至有可能导致你的电脑系统都卡的飞起。

秒等于多少ms秒!ms毫秒等于多少秒"

所以总的来说,Tick虽然好用,但对于电脑的性能消耗也非常大,你总不会希望别人玩着你开发的游戏结果直接把电脑系统给整崩了吧。因此一定要谨慎同时尽量少用Tick,一定要用的话,也要确保Tick的流程尽量简短并且在适当的时候关闭Tick,或者手动调整Tick的帧间隔时间。

秒等于多少ms秒!ms毫秒等于多少秒"

关闭Tick

秒等于多少ms秒!ms毫秒等于多少秒"

设置Tick的帧间隔时间

创业项目群,学习操作 18个小项目,添加 微信:fqy121389  备注:小项目

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.ruyiketang.com/2111.html