我正在渲染一个图像,这是更新每帧,使它成为一个方形的二维板(由2个三角形组成)的纹理。然而,GPU内存似乎与每帧单调增加。
绘制函数如下所示:
prog = gloo.Program(vertex, fragment, count=4)
def Draw(self, inImRGB):
texture = inImRGB.copy().view(gloo.Texture2D)
texture.interpolation = gl.GL_LINEAR
CBackgroundImage._prog['texture'] = texture
CBackgroundImage._prog.draw(gl.GL_TRIANGLE_STRIP)对每个可用的新映像定期调用它,使用以下回调:
from glumpy import app
window = app.Window(...)
@window.event
def on_draw():
window.clear()
bgImageObj.Draw(newImRGB)知道为什么GPU内存在不断积累吗?我应该以某种方式释放每个新帧的纹理,还是以不同的方式填充它?如果是这样的话,是怎么做的?
发布于 2019-01-28 16:54:47
纹理= inImRGB.copy().view(gloo.Texture2D)
创建和所有新的纹理;最终Phython GC将清理旧的内容,但如果内存不短缺,这是不会发生的。
在初始化过程中创建纹理,然后重用。
https://stackoverflow.com/questions/54404638
复制相似问题