pVector相对于Processing.js中两个独立变量的效率

pVector相对于Processing.js中两个独立变量的效率,processing,processing.js,Processing,Processing.js,我创建了两个数组来保存我要绘制的点的x和y值。当我这样做的时候,我想起了我最近学到的PVectors,而是创建了一个PVectors数组,而不是我最初创建的两个。哪种方法更有效,并且在给定大量x和y值的情况下会减少浏览器延迟?为什么不同时尝试这两种方法并找出答案?创建一个包含1000个PVectors的数组,并将其与创建包含1000个float值的数组进行比较。增加到10000或100000或1000000 在每种情况下,在屏幕上显示帧率变量。(不要使用println(),它太慢了-改用text

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

为什么不同时尝试这两种方法并找出答案?创建一个包含1000个
PVectors
的数组,并将其与创建包含1000个
float
值的数组进行比较。增加到10000或100000或1000000

在每种情况下,在屏幕上显示
帧率
变量。(不要使用
println()
,它太慢了-改用
text()
函数!)您何时注意到它开始下降

这看起来像是我在用一个问题来回答你的问题,但是回答关于性能的问题的最好方法就是自己尝试一下,做一些基准测试和分析,然后决定在你的特定环境中什么是最好的

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


不要担心这种优化(这是一种过早的优化,或者是一种微观优化),您应该使用对您最有意义的方法。代码的可读性和可维护性比这样的小事更重要,所以只要在程序中使用更符合逻辑的代码即可。

我遵照您的建议,创建了这样一个程序。我发现如果我不限制x和y值的数量,三分钟后,我的帧速率从60下降到30以下。三分钟后,PVector阵列大约快了三帧。这就是事情变得有趣的地方。在限制为200帧的情况下,两种方法都没有出现问题或滞后,或多或少都保持在每秒60帧的速度。然而,当我设置了2000帧的限制时,PVector数组在三分钟后将帧速率拖到了每秒40帧,而这两个数组没有动摇,保持在每秒60帧。@EmmaCooper我很想看看你的代码。为什么你的滞后随着时间的推移变得越来越严重?我可以解释,但我认为让你看看会更容易。这里有一个链接:@EmmaCooper很有趣,谢谢你的链接。我感到困惑的原因是:如果将对象的数量限制在2000个,那么最多可以拥有2000个对象。在3分钟、10分钟或24小时后,对象不会超过2000个。所以,随着时间的推移,它变得越来越慢,这似乎很奇怪。对不起,本可以澄清我的意思。在2000的限制下,PVector的帧速率仅降低到40,但一旦达到40,它就保持不变。阵列帧速率从未超过60。这两种价值观对我都有意义。你觉得它们对吗?