gpt4 book ai didi

Java 效率 : Fullscreen Exclusive Mode

转载 作者:行者123 更新时间:2023-11-29 09:11:46 24 4
gpt4 key购买 nike

最近我遇到了 Java 的全屏独占模式。当我自己尝试时,我遇到了一些问题:在全屏模式下在 JFrame 或 Frame 中呈现完全相同的内容所花费的时间 (40 fps) 比在未修饰和最大化的窗口中 (150-200 fps) 要长得多。我的屏幕设置为 50 fps,即每帧 20 毫秒,我看不到这段时间丢失的地方。我唯一的想法是,出于某种原因,Jave 决定在全屏模式下使用我的板载显卡。

GraphicsDevice gd = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice();
if(gd.isFullScreenSupported()) {
try {
gd.setFullScreenWindow(window);
} finally {
gd.setFullScreenWindow(null);
}
} else {
this.fullscreen = false;
}

我用一个帧来管理重绘,它试图通过暂停计算的时间来将帧速率保持在某个水平。

int delta = (int) (System.currentTimeMillis() - timestamp); //timestamp: start of this round
if(animated - delta > 0)
pause(animated - delta);

最后我使用双缓冲在框架上绘制:

public void render(Graphics2D a) { //window graphics are passed
Graphics2D g = (Graphics2D) backBuffer.getGraphics();
//Adjusting some rendering hints here...
//Then drawing some stuff...
g.dispose();
a.drawImage(backBuffer, 0, 0, null);
}

基本上就是这样,而且:所谓的高效全屏模式实在是太慢了。

最佳答案

尝试按照此处的建议设置系统属性 -Dsun.java2d.d3d=false Why does my Java application run so slowly in full-screen mode? (and fine when windowed)

关于Java 效率 : Fullscreen Exclusive Mode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979235/

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