我试图弄清楚为什么我的 GIMP 插件在执行过程中使用越来越多的 RAM。pdb.gimp_image_delete
我写了一个简单的测试插件来检查是否按预期通过作品删除图像:
image_id = pdb.gimp_image_new(500, 500, RGB)
while True:
duplicate = pdb.gimp_image_duplicate(image_id)
pdb.gimp_image_delete(image_id)
image_id = duplicate
print pdb.gimp_image_list()
图像列表看起来不错 - 在每次迭代中都pdb.gimp_image_list
显示只有一个图像,但 RAM 使用量迅速增长。执行 1 分钟后接近 1GB!看起来好像gimp_image_delete
以某种方式在内存中留下图像或其他原因导致了这种情况。任何想法如何解决这个问题?我认为这可能是 的错gimp_image_duplicate
,但替换duplicate = pdb.gimp_image_duplicate(image_id)
为image_id = pdb.gimp_image_new(500, 500, RGB)
会产生相同的效果。我也尝试过gimp.delete
功能。