有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案