Java 如何在JOGL中获得FPS?

Java 如何在JOGL中获得FPS?,java,frame-rate,jogl,Java,Frame Rate,Jogl,我目前正在尝试使用JOGL输出FPS,但没有效果。我试过很多东西,比如 glAutoDrawable.getAnimator().getLastFPS()但它返回0.0。我也尝试过使用glAutoDrawable.getAnimator().setUpdateFPSFrames(3,System.out)但它从不记录FPS。我试图获得整个应用程序的FPS,而不是动画 我已经检查过了,但这需要一个我没有使用的动画师对象。使用新动画师(glAutoDrawable.setAnimator(new A

我目前正在尝试使用JOGL输出FPS,但没有效果。我试过很多东西,比如
glAutoDrawable.getAnimator().getLastFPS()
但它返回0.0。我也尝试过使用
glAutoDrawable.getAnimator().setUpdateFPSFrames(3,System.out)但它从不记录FPS。我试图获得整个应用程序的FPS,而不是动画

我已经检查过了,但这需要一个我没有使用的
动画师
对象。使用
新动画师
glAutoDrawable.setAnimator(new Animator());
)时,FPS仍然返回0.0

以下是我正在使用的代码:

package ***.core.graphics;

import com.jogamp.opengl.*;
import com.jogamp.opengl.util.Animator;
import ***.log.Log;
import ***.tests.utils.GameTestMethods;

public class GameCanvas implements GLEventListener{
...
    @Override
    public void display(GLAutoDrawable glAutoDrawable) {
        GL2 glDraw = glAutoDrawable.getGL().getGL2();

        gameTestMethods.onRender(glDraw); // Draws a rectangle, not the issue.
        Log.log(Log.LogLevel.DEBUG, "FPS: "+glAutoDrawable.getAnimator().getLastFPS());//Trying to log FPS, returns 0.0 every time.
    }

    @Override
    public void init(GLAutoDrawable glAutoDrawable) {
        glAutoDrawable.setAnimator(new Animator()); // No clue what i'm doing here...
        glAutoDrawable.getAnimator().setUpdateFPSFrames(3, System.out); // NEVER logs FPS...
    }
...

}


这是可能的,还是我需要自己的FPS计数器?

这是否回答了您的问题@MattU我已经检查了这个链接,它需要一个我没有使用的
动画师。当使用
新的Animator()
时,FPS仍然是0.0。这不是魔术,你必须自己计算帧速率,因为你不使用Animator,这与使用GLEventListener没什么关系。