如何在 JOGL 中获得 FPS?

问题描述

我目前尝试使用 JOGL 输出我的 FPS,但无济于事。我尝试了很多东西,例如 glAutoDrawable.getAnimator().getLastFPS() 但它返回 0.0。我也尝试过使用 glAutoDrawable.getAnimator().setUpdateFPSFrames(3,System.out); 但它从不记录 FPS。我正在尝试获取整个应用程序的 FPS,而不是动画。

我已经检查了 Jogl animator always says FPS is 0 但这需要一个我没有使用的 Animator 对象。使用 new Animator (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 计数器?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)