java JavaFX动画计时器144 fps
我有一个问题,我找不到任何解决这个问题的办法
我正在使用animationTimer更新所有内容,并尝试将其固定在60帧/秒,因为它应该自己完成。问题是,在我的第一个屏幕上,它以144 fps的速度运行,在我的第二个屏幕上,它以60 fps的速度运行。我有一个Gsync监视器作为我的第一个屏幕,我想因为我强制Gsync,animationTimer被固定为144fps。是否有任何方法可以阻止animationTimer以60fps的速度运行
AnimationTimer timer = new AnimationTimer() {
@Override
public void handle(long now) {
long elapsedNanosPerFrame = 0;
long oldFrameTime = frameTimes[frameTimeIndex] ;
double frameRate = 0;
frameTimes[frameTimeIndex] = now ;
frameTimeIndex = (frameTimeIndex + 1) % frameTimes.length ;
if (frameTimeIndex == 0) {
arrayFilled = true ;
}
if (arrayFilled) {
long elapsedNanos = now - oldFrameTime ;
elapsedNanosPerFrame = elapsedNanos / frameTimes.length ;
while () {
}
frameRate = 1_000_000_000.0 / elapsedNanosPerFrame ;
label.setText(String.format("Current frame rate: %.3f", frameRate));
label.setTextFill(Color.GREEN);
}
update(elapsedNanosPerFrame);
}
};
是的,它不是一个可见的标签错误或什么的,游戏速度更快
共 (0) 个答案