2.2.1版本cc.Director.calculateDeltaTime死循环可能

升级了2.2.1并上线小游戏运行了几天,
微信后台收集到报错:

Maximum call stack size exceeded;at requestAnimationFrame callback function
RangeError: Maximum call stack size exceeded
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126221)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)
at 28.cc.Director.calculateDeltaTime (https://usr/game.js:3:126314)

查看源码,当this._deltaTime小于0确实有可能死循环?:

没错,是有这个可能。类似的讨论在这里已经发生,可以在这里讨论:

感觉这个递归有点多余,相当于写个死循环一直调用performance.now()
你确定performance.now()的值会在另一个线程被改变吗?
不会的话,当this._deltaTime小于零时必定死循环