Processing.js 中 PVectors 与两个独立变量的效率

Efficiency of PVectors vs two separate variables in Processing.js

我正在创建两个数组来保存我要绘制的点的 x 和 y 值。当我这样做时,我想起了我最近学习的 PVectors,而是创建了一个 PVectors 数组,而不是我原来的两个。在给定大量 x 和 y 值的情况下,哪种方法更有效并且会导致更少的浏览器延迟?

你为什么不都试一试看看呢?创建一个包含 1,000 PVectors 个值的数组,并将其与创建包含 1,000 个 float 个值的数组进行比较。将其增加到 10,000、100,000 或 1,000,000。

在每种情况下在屏幕上显示 frameRate 变量。 (不要使用 println(),它太慢了 - 请改用 text() 函数!)你什么时候注意到它开始下降?

我似乎是在用问题来回答你的问题,但回答有关性能问题的最佳方式是亲自尝试,进行一些基准测试和分析,然后决定在你的特定环境中什么是最好的。

但我怀疑您是否会注意到这两种情况下的巨大差异。速度应该是一样的。您可能会注意到的唯一区别是使用 PVector 可能会占用更多内存。但同样,可能还不够真正关心。

与其担心这种优化(过早优化或微优化),您应该只使用对您最有意义的方法。代码的可读性和可维护性比这样的小事更重要,所以在你的程序中使用看起来更合乎逻辑的那个。