在我的游戏构造函数中,添加以下内容:

GLProfiler.enable();


然后在我的render方法中所有绘制调用的结尾处添加以下内容:

Gdx.app.log("drawCalls", String.valueOf(GLProfiler.drawCalls));
Gdx.app.log("calls", String.valueOf(GLProfiler.calls));
Gdx.app.log("textureBindings", String.valueOf(GLProfiler.textureBindings));
Gdx.app.log("shaderSwitches ", String.valueOf(GLProfiler.shaderSwitches));
Gdx.app.log("vertexCount ", String.valueOf(GLProfiler.vertexCount.value ));

GLProfiler.reset();


但是,Android Monitor中的所有值都返回零。我的代码中没有Gdx.graphics.getGL20()或Gdx.graphics.getGL30()的任何实例。我像这样清除每个帧:

Gdx.gl20.glClearColor(0, 0, 0, 1);
Gdx.gl20.glClear(GL20.GL_COLOR_BUFFER_BIT);


有人有想法么?

最佳答案

我自己解决了这个问题。问题是我在主要游戏构造函数中启用了探查器。将GLProfiler.enable()调用移至create()方法的最后一行以对其进行修复。

关于java - 为什么在我的示例中GLProfiler不返回值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45869342/

10-10 10:59