I am curious about why the frametime follows a cyclic pattern and almost all time after every three or four frames is 16.94 ms and not 16.666. ? And sometimes a framtime is 16.39 and almost always are followed by 16.94.
Even if I comment out the draw-call and update-call in onDrawFrame this is the same. I am aware of that the the performance is not linear to the work the GPU has to do but why this cyclic behaviour and why cannot the framtime always be 16.666 or at the least very close. I measure the average framtime and its approx. 16.725 and this means that some frames are lost and I think I can see some glitches in the animation of my game.
@Override
public void onDrawFrame(GL10 unused) {
//GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT | GLES20.GL_DEPTH_BUFFER_BIT);
//lm.getLevel().update();
//lm.getLevel().draw();
long stop = System.currentTimeMillis();
nbFrames++;
if (stop - start >= 1000) {
if (frameCntr > 300) {
float frameTime = (float) 1000 / nbFrames;
totFrameTime += frameTime;
meanDivisor++;
//System.out.println("" + (float) 1000 / nbFrames);
System.out.println("medel tid per frame = " + totFrameTime / meanDivisor + "ft = " + (float) 1000 / nbFrames);
}
nbFrames = 0;
start += 1000;
}
frameCntr++;
}
Important to note - I measure frametime, not frames per second.
m.out: medel tid per frame = 16.666666ft = 16.666666
08-16 19:47:54.184 18083-18153/app.gl.se.bricksbreaker170810 I/System.out:
08-16 19:47:58.178 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.760828ft = 16.949152
08-16 19:47:59.189 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.708344ft = 16.393442
08-16 19:48:00.188 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.703135ft = 16.666666
08-16 19:48:01.176 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.73047ft = 16.949152
08-16 19:48:02.181 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.72409ft = 16.666666
08-16 19:48:03.186 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.71887ft = 16.666666
08-16 19:48:04.189 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.714521ft = 16.666666
08-16 19:48:05.190 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.71084ft = 16.666666
08-16 19:48:06.177 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.727863ft = 16.949152
08-16 19:48:07.181 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.723783ft = 16.666666
08-16 19:48:08.185 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.720213ft = 16.666666
08-16 19:48:09.190 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.717062ft = 16.666666
08-16 19:48:10.175 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.729958ft = 16.949152
08-16 19:48:11.179 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.726625ft = 16.666666
08-16 19:48:12.183 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.723627ft = 16.666666
08-16 19:48:13.187 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.720913ft = 16.666666
08-16 19:48:14.190 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.718447ft = 16.666666
08-16 19:48:15.190 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.716196ft = 16.666666
08-16 19:48:16.179 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.725903ft = 16.949152
08-16 19:48:17.183 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.723534ft = 16.666666
08-16 19:48:18.187 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.721346ft = 16.666666
08-16 19:48:19.190 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.71932ft = 16.666666
08-16 19:48:20.177 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.727528ft = 16.949152
08-16 19:48:21.180 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.72543ft = 16.666666
08-16 19:48:22.183 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.72347ft = 16.666666
08-16 19:48:23.187 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.721638ft = 16.666666
08-16 19:48:24.191 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.719921ft = 16.666666
08-16 19:48:25.175 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.726868ft = 16.949152
08-16 19:48:26.181 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.725098ft = 16.666666
08-16 19:48:27.182 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.723429ft = 16.666666
08-16 19:48:28.186 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.721853ft = 16.666666
08-16 19:48:29.175 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.727997ft = 16.949152
08-16 19:48:30.178 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.726383ft = 16.666666
08-16 19:48:31.182 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.724852ft = 16.666666
08-16 19:48:32.185 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.723398ft = 16.666666
08-16 19:48:33.189 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.722015ft = 16.666666
08-16 19:48:34.175 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.727423ft = 16.949152
08-16 19:48:35.176 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.726011ft = 16.666666
08-16 19:48:36.182 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.724663ft = 16.666666
08-16 19:48:37.185 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.723373ft = 16.666666
08-16 19:48:38.187 18083-18153/app.gl.se.bricksbreaker170810 I/System.out: medel tid per frame = 16.722141ft = 16.666666
DO I have a bottleneck in my app or is this average frametime of 16.72 normal?
As I mentioned above- I have commented out the draw and update of the game but the frametime is the same, that is still 16.725 so its no use to show the source of the draw and update of the game