1
我想在我的程序中將FPS打印到屏幕上。從getLastFPS
返回的數字總是0.我看過和其他一些例子,我相信這是調用獲取fps的正確方法。我知道fps計數器是活躍的,因爲getTotalFPSFrames()
返回一個增加的值。 getTotalFPSDuration()
總是說0.Jogl動畫師總是說FPS是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
}