处理获得更高的最大帧率

Processing get higher max frameRate

所以我最近在神经网络方面取得了突破,并用 NN AI 制作了几款游戏。对于训练,我使用 frameRate(100000) 来提高帧率。但是,检查 println(frameRate) 我发现平均帧速率约为 270。移除所有显示器(几乎绘制形状)将其增加到大约 300。

我想让它更快,我注意到文档指出 frameRate() 只达到处理器可以处理的最高水平,但通过任务管理器检查我发现程序只使用了大约 20%我的 CPU 只有 90MB。我已经在首选项中将最大可用内存增加到 4096MB,但这似乎没有什么不同。

所以我想我的问题是,我如何允许处理使用更多的 CPU 来获得更快的帧速率 [或者除了 "optimizing my code" 之外还有更好的选择,因为它已经相当优化的 IMO(并不是说它不能更好)]。

请记住,即使帧速率非常高,调用 draw() 的机制也会产生一些开销,如果您不绘制任何东西,则不需要这些开销。您的计算机可能会根据您的图形设置限制帧速率。另请注意,println() 语句本身非常慢,因此您不应使用它来连续打印出帧速率。

如果您不绘制任何东西(或者如果您只绘制一个帧),您可以只使用基本循环而不是 draw() 函数。

相反,尝试这样的事情:

boolean running = true;
while(running){
  // do your processing
  if(done){
    running = false;
  }
}