繁体   English   中英

双缓冲方法之间的区别

[英]Difference between double-buffering methods

我正在用Java编写我的第一个applet游戏,阅读了一些教程,并找到了双缓冲的不同解决方案。 我想知道它们,任何利弊等之间的区别。在此先感谢!

第一:

public void update(Graphics g) {
    if (offImage == null) {
        offImage = createImage(this.getWidth(), this.getHeight());
        offGraphics = offImage.getGraphics();
    }
    offGraphics.setColor(getBackground());
    offGraphics.fillRect(0, 0, getWidth(), getHeight());
    offGraphics.setColor(getForeground());
    paint(offGraphics);
    g.drawImage(offImage, 0, 0, this);
}

第二个:

public void init() {
    offImage = createImage(getWidth(), getHeight());
    offGraphics = offImage.getGraphics();
}

public void paint(Graphics g) {
    g.drawImage(offImage,0,0,this);
}

public void update(Graphics g) {
    paint(g);
}

几乎一样。 尽管如此,我还是会使用paint方法,因为许多会第一次检查您的代码的人都会搜索它,因为它主要用于图形开发。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM