gpt4 book ai didi

java - Jogl 动画师总是说 FPS 为 0

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

我想在我的程序中将 FPS 打印到屏幕上。 getLastFPS 返回的数字始终为 0。我查看了 FPSCounter.html#getLastFPS()和其他一些示例,我相信这是调用获取 fps 的正确方法。我知道 fps 计数器处于 Activity 状态,因为 getTotalFPSFrames() 返回一个增加的值。 getTotalFPSDuration() 始终为 0。

为什么会出错,我该如何解决?

public void display(GLAutoDrawable drawable) {

float time=drawable.getAnimator().getLastFPS();

GL2 gl =drawable.getGL().getGL2();
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

gl.glPushMatrix();
gl.glMatrixMode(GL2.GL_PROJECTION);
gl.glPushMatrix();
gl.glLoadIdentity();
int[] viewport =new int[4];
gl.glGetIntegerv (GL2.GL_VIEWPORT, viewport,0);
glu.gluOrtho2D (0,viewport[2], viewport[3], 0);
gl.glDepthFunc(GL2.GL_ALWAYS);
gl.glColor4f(1, 0, 0,1);
gl.glRasterPos2d(30,30);
glut.glutBitmapString(GLUT.BITMAP_HELVETICA_18, "FPS: "+time);
gl.glDepthFunc(GL2.GL_LESS);
gl.glPopMatrix();
gl.glMatrixMode(GL2.GL_MODELVIEW);
gl.glPopMatrix();

//other 3d rendering
}

最佳答案

您需要设置 FPS 计数器更新的频率。因此,例如,在您的 init() 方法中添加以下内容:

drawable.getAnimator().setUpdateFPSFrames(3, null);

然后 drawable.getAnimator().getLastFPS(); 将每 3 帧提供新的 FPS 计数。

关于java - Jogl 动画师总是说 FPS 为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16382454/

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