0

大概的答案就足够了。我想检查 2 个相同大小的矩形是否重叠 1) 现有代码检查一个矩形的所有 (x,y) 是否与另一个矩形的所有 (x,y) 一致。所以总共进行了 16 次比较 2)我的改进 - 计算每个矩形的左上角之间的距离并检查该距离是否小于矩形的对角线。

此外,任何讨论 CPU 时钟周期数/每次编码操作在 CPU 上执行一次所需的时间的书籍/材料都值得赞赏。

4

1 回答 1

1

这主要取决于您对平方根的近似值。常规近似肯定会更慢,这仅仅是因为它提供的准确性(以及迭代次数)。

鉴于您的矩形似乎很小,最快的算法将是一个简单的查找:将所有可能的平方根保存在字典中,然后进行查找。

如果这不是您需要的,您可以搜索另一种算法(寻找平方根的近似值,或在内置算法中产生平方根)。然后由您来计算必要的迭代和复杂性。

这是一个类似问题的链接,带有一些经验近似值:

https://gamedev.stackexchange.com/questions/27196/which-opcodes-are-faster-at-the-cpu-level

于 2017-09-09T14:14:12.423 回答