1

我有一个宽度为 1000,高度为 600 的画布。在这个画布中,我有 300-500 个矩形图块,每个图块都有自己的 id。我可以检测画布内的鼠标坐标,但我必须有一个 1000 x 600 的二维数组作为查找表,或者运行一个算法来查找坐标是否在图块内。这是 javascript,所以它都在浏览器中。1000 x 600 二维数组对于浏览器来说是否太多了?在实现方面,查找表是迄今为止更简单的解决方案(并且可能更快),但是空间上的权衡是否太多?

4

1 回答 1

1

这可能取决于数字。

如果有很多点击,并且目标的位置没有改变,那么按照您的建议预先计算映射可能会更有效。

但是,生成初始映射的成本相对较高,如果显示发生变化,您会再次产生该成本(认为有办法减轻这种情况)。我的猜测是,循环遍历目标并为每次点击进行数学运算可能会更快,因为当它只是矩形时,数学运算不应该非常复杂/密集。

我想说,使用最容易实现的东西。如果它的性能不够好(或者,您只是想试一试),请尝试替代方案并进行比较

于 2012-12-15T00:25:55.697 回答