loops - Android fixed delta time still choppy? -


below game loop , logcat output. game runs bit choppy , noticed in logcat gc running every often. i'm not quite sure if gc or delta time causing this? can try point me in right direction based on info provided?

@override public void run() {      canvas canvas;     while (isrunning) {         if (!gamepanel.paused) {             canvas = null;             try {                 startdraw = system.currenttimemillis();                 canvas = surfaceholder.lockcanvas();                 synchronized (surfaceholder) {                     gamepanel.update(deltatime);                     gamepanel.draw(canvas);                 }             } {                 if (canvas != null) {                     surfaceholder.unlockcanvasandpost(canvas);                     enddraw = system.currenttimemillis();                     mylogger.getinstance().log(                             "delta time = " + (enddraw - startdraw)                                     / 1000.f);                 }             }              deltatime = (enddraw - startdraw)                     / 1000.f;          }     } }  -09-04 15:59:29.855: d/dalvikvm(3273): gc_for_alloc freed 4427k, 35% free 18542k/28387k, paused 25ms, total 27ms 09-04 15:59:29.855: i/dalvikvm-heap(3273): grow heap (frag case) 22.083mb 4096016-byte allocation 09-04 15:59:29.886: d/dalvikvm(3273): gc_concurrent freed 2278k, 29% free 20263k/28387k, paused 3ms+3ms, total 27ms 09-04 15:59:30.144: d/mediaplayer(3273): start() muri null 09-04 15:59:30.160: d/mylogger(3273): delta time = 0.026 09-04 15:59:30.214: d/mylogger(3273): delta time = 0.052 09-04 15:59:30.253: d/mylogger(3273): delta time = 0.042 09-04 15:59:30.277: d/mylogger(3273): delta time = 0.019 09-04 15:59:30.293: d/mylogger(3273): delta time = 0.015 09-04 15:59:30.308: d/mylogger(3273): delta time = 0.017 09-04 15:59:30.324: d/mylogger(3273): delta time = 0.016 09-04 15:59:30.339: d/mylogger(3273): delta time = 0.016 09-04 15:59:30.355: d/mylogger(3273): delta time = 0.016 09-04 15:59:30.386: d/mylogger(3273): delta time = 0.026 09-04 15:59:30.402: d/mylogger(3273): delta time = 0.018 09-04 15:59:30.418: d/mylogger(3273): delta time = 0.019 09-04 15:59:30.441: d/mylogger(3273): delta time = 0.018 09-04 15:59:30.457: d/mylogger(3273): delta time = 0.015 09-04 15:59:30.464: d/mylogger(3273): delta time = 0.012 09-04 15:59:30.480: d/mylogger(3273): delta time = 0.018 09-04 15:59:30.496: d/mylogger(3273): delta time = 0.014 09-04 15:59:30.519: d/mylogger(3273): delta time = 0.017 09-04 15:59:30.535: d/mylogger(3273): delta time = 0.017 09-04 15:59:30.550: d/mylogger(3273): delta time = 0.017 09-04 15:59:30.574: d/mylogger(3273): delta time = 0.02 09-04 15:59:30.589: d/mylogger(3273): delta time = 0.017 09-04 15:59:30.605: d/mylogger(3273): delta time = 0.016 09-04 15:59:30.621: d/mylogger(3273): delta time = 0.02 09-04 15:59:30.644: d/mylogger(3273): delta time = 0.018 09-04 15:59:32.550: d/mylogger(3273): delta time = 0.016 09-04 15:59:32.566: d/mylogger(3273): delta time = 0.017 09-04 15:59:32.582: d/mylogger(3273): delta time = 0.015 09-04 15:59:32.597: d/mylogger(3273): delta time = 0.018 09-04 15:59:32.621: d/mylogger(3273): delta time = 0.019 09-04 15:59:32.636: d/mylogger(3273): delta time = 0.014 09-04 15:59:32.652: d/mylogger(3273): delta time = 0.018 09-04 15:59:32.668: d/mylogger(3273): delta time = 0.015 09-04 15:59:32.683: d/mylogger(3273): delta time = 0.017 09-04 15:59:32.699: d/mylogger(3273): delta time = 0.017 09-04 15:59:32.714: d/mylogger(3273): delta time = 0.017 09-04 15:59:32.730: d/mylogger(3273): delta time = 0.016 09-04 15:59:32.753: d/mylogger(3273): delta time = 0.017 09-04 15:59:32.769: d/mylogger(3273): delta time = 0.016 09-04 15:59:32.785: d/mylogger(3273): delta time = 0.016 09-04 15:59:32.808: d/mylogger(3273): delta time = 0.021 09-04 15:59:36.535: d/mylogger(3273): delta time = 0.012 09-04 15:59:36.558: d/mylogger(3273): delta time = 0.019 09-04 15:59:36.574: d/mylogger(3273): delta time = 0.017 09-04 15:59:36.589: d/mylogger(3273): delta time = 0.018 09-04 15:59:36.605: d/mylogger(3273): delta time = 0.015 09-04 15:59:36.621: d/mylogger(3273): delta time = 0.016 09-04 15:59:36.644: d/mylogger(3273): delta time = 0.018 09-04 15:59:36.652: d/mylogger(3273): delta time = 0.014 09-04 15:59:36.675: d/mylogger(3273): delta time = 0.02 09-04 15:59:36.691: d/mylogger(3273): delta time = 0.016 09-04 15:59:36.707: d/mylogger(3273): delta time = 0.015 09-04 15:59:36.722: d/mylogger(3273): delta time = 0.016 09-04 15:59:38.214: d/mylogger(3273): delta time = 0.015 09-04 15:59:38.230: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.246: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.269: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.285: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.308: d/mylogger(3273): delta time = 0.022 09-04 15:59:38.332: d/mylogger(3273): delta time = 0.021 09-04 15:59:38.347: d/mylogger(3273): delta time = 0.016 09-04 15:59:38.363: d/mylogger(3273): delta time = 0.016 09-04 15:59:38.378: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.402: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.418: d/mylogger(3273): delta time = 0.02 09-04 15:59:38.433: d/mylogger(3273): delta time = 0.014 09-04 15:59:38.457: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.472: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.488: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.503: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.519: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.535: d/mylogger(3273): delta time = 0.016 09-04 15:59:38.550: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.574: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.589: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.636: d/dalvikvm(3273): gc_concurrent freed 5659k, 35% free 18532k/28387k, paused 13ms+2ms, total 42ms 09-04 15:59:38.636: d/mylogger(3273): delta time = 0.043 09-04 15:59:38.652: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.668: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.683: d/mylogger(3273): delta time = 0.013 09-04 15:59:38.699: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.730: d/mylogger(3273): delta time = 0.025 09-04 15:59:38.746: d/mylogger(3273): delta time = 0.02 09-04 15:59:38.769: d/mylogger(3273): delta time = 0.02 09-04 15:59:38.785: d/mylogger(3273): delta time = 0.014 09-04 15:59:38.808: d/mylogger(3273): delta time = 0.022 09-04 15:59:38.824: d/mylogger(3273): delta time = 0.022 09-04 15:59:38.839: d/mylogger(3273): delta time = 0.017 09-04 15:59:38.863: d/mylogger(3273): delta time = 0.02 09-04 15:59:38.878: d/mylogger(3273): delta time = 0.016 09-04 15:59:38.894: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.918: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.933: d/mylogger(3273): delta time = 0.018 09-04 15:59:38.957: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.972: d/mylogger(3273): delta time = 0.019 09-04 15:59:38.996: d/mylogger(3273): delta time = 0.023 09-04 15:59:39.011: d/mylogger(3273): delta time = 0.02 09-04 15:59:39.035: d/mylogger(3273): delta time = 0.018 09-04 15:59:39.050: d/mylogger(3273): delta time = 0.018 09-04 15:59:39.074: d/mylogger(3273): delta time = 0.019 09-04 15:59:39.089: d/mylogger(3273): delta time = 0.018 09-04 15:59:39.113: d/mylogger(3273): delta time = 0.022 09-04 15:59:39.128: d/mylogger(3273): delta time = 0.017 09-04 15:59:39.144: d/mylogger(3273): delta time = 0.017 09-04 15:59:39.160: d/mylogger(3273): delta time = 0.018 09-04 15:59:39.191: d/mylogger(3273): delta time = 0.029 09-04 15:59:39.222: d/mylogger(3273): delta time = 0.028 09-04 15:59:39.238: d/mylogger(3273): delta time = 0.017 09-04 15:59:39.261: d/mylogger(3273): delta time = 0.02 09-04 15:59:39.277: d/mylogger(3273): delta time = 0.016 09-04 15:59:39.293: d/mylogger(3273): delta time = 0.017 09-04 15:59:39.308: d/mylogger(3273): delta time = 0.019 09-04 15:59:39.324: d/mylogger(3273): delta time = 0.014 09-04 15:59:39.339: d/mylogger(3273): delta time = 0.015 09-04 15:59:39.355: d/mylogger(3273): delta time = 0.018 09-04 15:59:39.371: d/mylogger(3273): delta time = 0.016 09-04 15:59:39.394: d/mylogger(3273): delta time = 0.019 09-04 15:59:39.410: d/mylogger(3273): delta time = 0.018 09-04 15:59:39.433: d/mylogger(3273): delta time = 0.02 09-04 15:59:39.449: d/mylogger(3273): delta time = 0.02 

shujima pheonix right --- although won't lot, in looping, things can pile up. draw called fast , frequent, , looper too, when this:

  mylogger.getinstance().log(                              "delta time = " + (enddraw - startdraw) / 1000.f); 

what is:

add 2 floats , divide result, take result , convert string. (maybe copy ?) string , append string "delta time = ", (maybe?) copy combined string again parameter passed .log() <- of you've gotten new instance of every time. far amount of overhead when in rapid loop ...


Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -