timeslicing算是我进入业界一开始接触到的技巧之一吧
非常实用且几乎每天都会摸到
简单来说就是有必须反复执行的轻量批次逻辑
不用每个frame全部执行,可以分多个frame执行,分担负担
像是100个NPC不用每个frame都全部执行,每frame处理20个可省下80%决策运算时间
反映NPC决策的动画层,因为与决策层中间透过接口沟通
这种几个frame决策延迟并不会被玩家注意到
(除非你在做无法容忍延迟的格斗游戏,那你是要100个NPC干嘛啦XD)
时域切割 同步/异步 的 资料读取输入/储存输出,又有四种排列组合
本文有精美动画供参考 :)
那就废话不多说了(好像已经讲了一堆)
连结在此 http://wp.me/p4mzke-14V
动画生成原始码在此 https://github.com/TheAllenChou/timeslicing
这是游戏程式系列文的一部分 http://allenchou.net/game-programming-series/
请多指教 :)