我有一个android应用程序,我需要显示当前的FPS。Android(JNI/NDK)OpenGL - FPS显示帮助
1 - 应用程序在OpenGL中呈现。
public void onDrawFrame(GL10 gl) {
synchronized(lock) {
NativeCalls.getFrame(); // Setup in JNI/NDK
NativeCalls.drawFrame(); // using openGL
}
}
}
2 - 您可以看到渲染调用是从Java完成的,以从JNI调用函数。
3 - 我需要在这个OpenGL表面显示当前的FPS。
我想总结一下我正在做的事情,所以让我再解释一下。这是一个动态壁纸,所以速度是至关重要的,我需要一个快速的方式向用户展示fps。
我知道如何计算FPS,只是不显示它。
我正在寻找简单的方法,但问题是OpenGL渲染和设置是通过JNI完成的。
是否可以从Java端渲染它,并将文本“覆盖”在由JNI创建的OpenGL表面上?
我已经研究过通过JNI渲染,但在OpenGL中显示字体是一种痛苦。 (我的代码是C,不是C++ - 由于其他事情需要重新编码以使其从NDK变为CPP兼容,所以不能更改)。
任何建议,例子等将是伟大的。我知道这可以通过C使用freetype2来完成,但是那里的简单库似乎都是用于CPP的(尝试了一些,因为C-> C++(结构等),转换不是一个选项)。
显示的文字不多,例如:“FPS:20”。而已。
谢谢,这种方法适用于我所需要的! –