【问题标题】:Processing 2.0b8 / Disposing PGraphics objects and memory management处理 2.0b8 / 处理 PGraphics 对象和内存管理
【发布时间】:2013-05-16 10:17:54
【问题描述】:

我正在绘制一个草图,它使用一些 PGraphics 对象作为我使用 image() 方法在屏幕上绘制的缓冲区。

我的问题是我注意到一个巨大的内存泄漏,99% 是由于这个缓冲区没有被正确销毁。

有没有办法摆脱这些对象以释放一些内存?我查看了旧 GLGS 库的文档,并尝试了 dispose() 方法,但它看起来没有任何效果。

【问题讨论】:

    标签: java opengl processing pgraphics


    【解决方案1】:

    所以,在处理论坛发帖后,感谢@v.k。回答,我发现我的问题不是由错误处理 PGraphics 对象造成的。

    存在内存泄漏,但在 2.0b6 版本中已修复。

    因此,如果您有内存泄漏并且您认为这是 PGraphics 错误,请更新到 2.0b8 或查看您的代码。

    【讨论】:

    • 很高兴您找到了答案。我用正确的测试版编辑了上面的帖子。感谢您指出这一点。
    【解决方案2】:

    在处理论坛中查看this 的帖子,看起来直到 2.0b6 都存在 PImages 泄漏。他们建议在那里进行黑客攻击(如下)......

    void draw()
    {
      PImage img = createImage(width, height, RGB);
      image(img, 0, 0);
      g.removeCache(img);// this is avoiding the leak
      println(frameCount + " " + g.getCache(img));
    }
    

    【讨论】:

    • 非常感谢您的回复,但不幸的是,这并不能解决我的问题,即使它显然是相关的...... :(
    • 在论坛上发帖后,我发现您提出的修复与以前版本的处理有关,而不是我在标题中详细说明的那个。我为其他人写了一个答案。无论如何感谢您的支持:)
    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2013-07-26
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    相关资源
    最近更新 更多