Babygogogo/TinyWarsClient

走局卡顿优化

Closed this issue · 2 comments

目前在较大的地图上,每走一步都会有比较明显的卡顿。这是因为,在游戏规则上,每走一步都需要更新视野,而视野规则本身也比较复杂,在地图大、部队多的情况下,计算量比较大。这个计算本身已经难以优化(因为规则就在那里,只能照做)。不过,当前代码机制是每走一步,全图视野就彻底重新计算一遍,这就存在一些计算量的浪费。
可以考虑用空间换时间,多缓存一些视野相关的矩阵数据,每走一步就只更新相关的数据,而不去计算那些没有改动的数据,这样就可以显著降低计算量。
实际上,原来我就已经做过了相关的逻辑,不过在实现视野类主动技的时候,为了省事而把这些缓存矩阵给删掉了。可以找到当时的代码,加以还原和改造即可。

设计成视野叠加的思路可以吗?
有路径视野怎么会重新计算全图视野呢?

这个实际上是写的时候偷懒导致的……现在修好了。