【发布时间】:2022-01-31 13:53:42
【问题描述】:
简而言之,我正在做一个模拟,其中有一群可以互相看到的生物。我想要做到这一点的方法是捕获每个生物周围的区域并将其提供给它们的神经网络,并让它们进化以识别周围环境。我正在使用 LibGDX 进行编码,并且我不打算在每一帧都制作屏幕截图,因为我可以想象这已经是一个非常糟糕的主意。但是,问题是我不知道如何在不捕获整个屏幕的情况下将像素放入定义的正方形中,然后为每个生物挑选我想要的东西,这将导致 MASSIVE 滞后峰值,因为这些生物的区域将be in 是 2000x2000,因此有 1200 万个不同的值(400 万个 RGB 值)。
每个生物大约有 5 个像素(宽度和高度),所以我的想法是在它们周围给它们一个 16x16 的区域,这就是为什么迭代整个帧缓冲区不起作用的原因,它会毫无意义地迭代数百万个值在找到我要求的之前。
如果可能的话,我还需要能够在屏幕之外拍照(如在窗口边界之外的部分)。
我怎样才能做到这一点?我的目标是性能,但我不介意在多个帧甚至多线程之间分配负载。
【问题讨论】:
标签: java computer-vision libgdx