2
我有一个名为正方形的列表中的Square对象的集合。我遍历列表并逐个绘制每个方块,我想知道是否有更快的方法来做到这一点?我不认为GL_QUAD会起作用,因为当我只想要轮廓时,它会填满广场。绘制一吨平方的最快方法?
这里是我的代码
for sq in squares:
x1, y1 = sq.point
x2, y2 = x1 + sq.length - 1, y1 + sq.length - 1
batch.add(2, pyglet.gl.GL_LINES, None, ('v2i', (x1, y1, x1, y2)))
batch.add(2, pyglet.gl.GL_LINES, None, ('v2i', (x1, y1, x2, y1)))
batch.add(2, pyglet.gl.GL_LINES, None, ('v2i', (x2, y2, x1, y2)))
batch.add(2, pyglet.gl.GL_LINES, None, ('v2i', (x2, y2, x2, y1)))
batch.draw()
(X1,Y1)将是方形和(x2,y2)的左下方点右上角。
您的代码不够快吗? – delnan
如果它不够快,你可能需要另一种语言...我怀疑你可以做出重大改进(但它可能更适合于http://codereview.stackexchange.com) –
不是py用户(没有想法是什么批次,但我怀疑通常没有性能增益的列表......)但尝试VBO或VAO,这基本上是你需要的。还有什么不够快?尝试计算每秒钟的三角形数量并将其与您的gfx卡规范进行比较... – Spektre