【发布时间】:2016-07-18 19:44:59
【问题描述】:
我正在创建两个数组来保存我想要绘制的点的 x 和 y 值。当我这样做时,我想起了我最近了解的 PVectors,而是创建了一个 PVectors 数组,而不是我最初的两个。在给定大量 x 和 y 值的情况下,哪种方法更有效并且会减少浏览器延迟?
【问题讨论】:
我正在创建两个数组来保存我想要绘制的点的 x 和 y 值。当我这样做时,我想起了我最近了解的 PVectors,而是创建了一个 PVectors 数组,而不是我最初的两个。在给定大量 x 和 y 值的情况下,哪种方法更有效并且会减少浏览器延迟?
【问题讨论】:
您为什么不尝试两者并找出答案?创建一个包含 1,000 个 PVectors 的数组,并将其与创建具有 1,000 个 float 值的数组进行比较。将其增加到 10,000、100,000 或 1,000,000。
在每种情况下都在屏幕上显示frameRate 变量。 (不要使用println(),它太慢了——改用text() 函数!)你什么时候注意到它开始下降?
这看起来像是在用一个问题来回答您的问题,但回答有关性能问题的最佳方式是自己尝试一下,进行一些基准测试和分析,然后确定在您的特定环境中什么是最好的。
但我怀疑您是否会注意到这两种情况的巨大差异。速度可能是相同的。您可能注意到的唯一区别是使用PVector 可能会使用更多内存。但同样,可能还不足以真正关心。
不要担心这种优化(这是一种过早的优化或微优化),您应该使用对您最有意义的方法。代码的可读性和可维护性比这样的小事情更重要,所以只要在你的程序中使用看起来更合乎逻辑的东西。
【讨论】: