我有一個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」。而已。
謝謝,這種方法適用於我所需要的! –