Open ChrisCatCP opened 3 years ago
很久没有维护ydwe了,欢迎提供PR
暂时没想到如何解决这个问题。。我不太了解step的作用
解决法,把第一个key的算法 由直接handle*step改成就是key = (((handle-0×100000) & 0×ffff )<<16) | (step & 0×ffff) 并且每一次step+3改成+1 这样区分高低位就不会冲突了, yd由jass的位运算函数, 不知道效率怎么样。
解决法,把第一个key的算法 由直接handle*step改成就是key = (((handle-0×100000) & 0×ffff )<<16) | (step & 0×ffff) 并且每一次step+3改成+1 这样区分高低位就不会冲突了, yd由jass的位运算函数, 不知道效率怎么样。
不错的思路。将handle放在低位,step在高位,可以减少一些运算。例如 key = handle + (step << 16)
解决法,把第一个key的算法 由直接handle*step改成就是key = (((handle-0×100000) & 0×ffff )<<16) | (step & 0×ffff) 并且每一次step+3改成+1 这样区分高低位就不会冲突了, yd由jass的位运算函数, 不知道效率怎么样。
不错的思路。将handle放在低位,step在高位,可以减少一些运算。例如 key = handle + (step << 16)
我打算直接限制step大小为30000 直接防止溢出
今天查bug的时候偶然发现的 handle step 可能会等于 另一个有效handle 发生碰撞 1050425662385 = 1061673 我碰上了1050425这个触发的逆天变量key等于1061673这个计时器 然后触发运行结束把计时器的逆天变量全清空了 导致出现了问题