我正在开发一款 2D 游戏。我将游戏地图保存在名为 gameMap 的 js 对象 {} 上。我的问题是读取矩阵上的项目需要很长时间。对于碰撞检测,我通常必须检查地图矩阵的 10 或 20 个项目,这大约需要 1 毫秒,并且屏幕碰撞检测上有 10 个字符成为应用程序的瓶颈,每帧应该持续 16 毫秒中的 10 毫秒。当地图变得太大时,也可以放大。
假设地图有 1000 x 1000 个项目。现在,如果我想检查(-100,200)
我检查的位置是什么gameMap['-100'][200]
。我的想法是将地图划分为将 100 x 100 个项目分组的象限。所以要检查(-100,200)
我会测试gameMap[quadrantName][-100][200]
。这意味着虽然 gameMap 的大小大致相同,但它可以使用更少的项目,并且读取速度可能会以小得多的比例提高。有谁知道这是否会使阅读速度更快?我还能做些什么来提高阅读速度?