我编写了一个python脚本,该脚本在Blender中设置场景,检查某些条件并将网格另存为.ply。我注意到脚本的内存使用量很快增加,直到使用完所有内存。我发现重复调用bpy.ops.export_mesh.ply()
会导致内存增加。
通过监视bpy.data.meshes
的内容,我注意到bpy.ops.export_mesh.ply()
创建了网格的副本。但是,删除所有网格,材质,纹理和图像,而无需用户使用此类代码块
for block in bpy.data.meshes:
if block.users == 0:
bpy.data.meshes.remove(block)
不能解决问题。
我的代码中导致内存增加的部分如下:
for ob, outpath in zip(obs, outpaths):
ob.select = True
bpy.context.scene.objects.active = ob
bpy.ops.export_mesh.ply(filepath=outpath)
是什么导致内存使用量增加?我该如何预防?我正在使用Blender 2.79b。