0

如果我使用以下代码,我在使用处理和 controlP5 时遇到内存问题:

public class LabelTeste extends PApplet {

private static final long serialVersionUID = 1L;

private ControlP5 cp5;

Textlabel txtLabel;

public void setup() {
    size(600, 600);
    noStroke();
    cp5 = new ControlP5(this);

    cp5.addTextlabel("txtLabel").setText("Setup");
    txtLabel = (Textlabel) cp5.getController("txtLabel");
}

public void draw() {
    txtLabel.setText("draw");
}
}

内存使用量呈天文数字上升...有人知道为什么以及如何协调吗?

4

1 回答 1

1

controlP5 默认使用位字体来呈现文本。当文本更新时(例如使用 setText()),将创建一个新的 PImage,然后在其中呈现和显示文本。我见过有人用 PImage 报告内存泄漏,但不能确认,只能怀疑。使用 controlP5 对文本进行默认位字体渲染的替代方法是使用处理 PFont。利用:

cp5 = new ControlP5(this);
cp5.setFont(createFont("",10));
于 2012-09-21T09:03:36.947 回答