gpt4 book ai didi

Android (JNI/NDK) OpenGL - FPS 显示帮助

转载 作者:行者123 更新时间:2023-11-29 22:16:24 26 4
gpt4 key购买 nike

我有一个 Android 应用程序,我需要显示当前的 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”。仅此而已。

最佳答案

我也在做同样的事情;在 onDrawFrame() 中我调用一个本地函数来进行渲染,然后回到 Java 我使用 drawText()将 fps 渲染到纹理,并在 Java 代码中渲染具有该纹理的四边形。效果很好。

关于Android (JNI/NDK) OpenGL - FPS 显示帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8345269/

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