1,计时器步长:0.01秒,太小了。经验是0.035秒和0.01秒的效果是完全一样的,最好不要低于0.035秒吧。
2,每次运行都要创建一个计时器,太费资源了,解决方法是只使用一个计时器去处理所有的数据,当然,这样做的话你就要把数据存在局部变量数组里,而不是用缓存。
3,handle是不可以set null的,这是暴雪的一个bug,set null可能会造成游戏崩溃,比如:
[codes=jass]local timer t = GetExpiredTimer()
set t = null[/codes]
解决方法是用另外一个函数把handle传递过去使用,如
[codes=jass]function action takes timer t returns nothing
endfunction[/codes]