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

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

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

mysql - Pass value between different pages (form) with PHP -