gpt4 book ai didi

java - BufferStrategy 滞后

转载 作者:太空宇宙 更新时间:2023-11-04 12:25:30 27 4
gpt4 key购买 nike

我的桌面应用程序滞后。我认为 java.awt.image.BufferStrategy 中有问题。

    private void render() {
BufferStrategy bs = this.getBufferStrategy();

if (bs == null) {
this.createBufferStrategy(3);
return;
}
// drawing
Graphics g = bs.getDrawGraphics();

g.dispose();
bs.show();
Toolkit.getDefaultToolkit().sync();
}

我什至都没有开始画画。我在另一个项目中使用了同样的东西,并且它有效,例如,如果渲染方法看起来像那样,它就可以正常工作。

private void render(){
BufferStrategy bs = this.getBufferStrategy();

if (bs == null ){
this.createBufferStrategy(3);
return;
}
// drawing
Graphics g = bs.getDrawGraphics();
g.setColor(Color.GRAY);
g.fillRect(0, 0, getWidth(), getHeight());
int row; // Row number, from 0 to 7
int col; // Column number, from 0 to 7
int x,y; // Top-left corner of square

for ( row = 0; row < 8; row++ ) {
for ( col = 0; col < 8; col++) {
x = col * 70;
y = row * 70;
if ( (row % 2) == (col % 2) )
g.setColor(Color.white);
else
g.setColor(Color.black);
g.fillRect(x, y, 70, 70);
}
}
g.dispose();
bs.show();
Toolkit.getDefaultToolkit().sync();
}

核心的东西是一样的。为什么第一个在相同条件下滞后?

最佳答案

尝试删除:

    for ( row = 0;  row < 8;  row++ ) {
for ( col = 0; col < 8; col++) {
x = col * 70;
y = row * 70;
if ( (row % 2) == (col % 2) )
g.setColor(Color.white);
else
g.setColor(Color.black);
g.fillRect(x, y, 70, 70);
}
}

关于java - BufferStrategy 滞后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38440455/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com