Weird memory Issue on Galaxy tab 3 8''

Hi,

I am working on a little castle breaker game.
My main test device is my old Iconia A500.(android 4.0.3) where everything worked fine

then I tried it on my son’s Galay Tab 3 8’’(Android 4.2.2) and trouble began… memory issue all the way even if I am not using many
so I removed terrain, nifty… all I could
so so far it is pretty basic , couple images loaded, a quad for terrain and a little catapult with low low res testure.

I tried it also on a cell phone a crapy HUAWEI Y300 ( android 4.1.1) , and working like a charm with 38+ fps…

I noticed that Tab i using more mem than a500 for exact same apk… but still arround 20Mb soi far from limit in theory

here is trace for A500
D/dalvikvm(22575): GC_CONCURRENT freed 605K, 30% free 9560K/13575K, paused 2ms+5ms
D/dalvikvm(22575): GC_CONCURRENT freed 1649K, 35% free 8902K/13575K, paused 1ms+3ms
D/dalvikvm(22575): GC_CONCURRENT freed 392K, 33% free 9194K/13575K, paused 1ms+2ms
D/dalvikvm(22575): GC_CONCURRENT freed 870K, 33% free 9207K/13575K, paused 2ms+4ms
D/dalvikvm(22575): GC_CONCURRENT freed 1569K, 38% free 8464K/13575K, paused 2ms+6ms
D/dalvikvm(22575): GC_CONCURRENT freed 830K, 40% free 8201K/13575K, paused 2ms+3ms
D/dalvikvm(22575): GC_CONCURRENT freed 473K, 40% free 8202K/13575K, paused 2ms+4ms
D/dalvikvm(22575): GC_CONCURRENT freed 475K, 40% free 8202K/13575K, paused 2ms+3ms
D/dalvikvm(22575): GC_CONCURRENT freed 474K, 40% free 8247K/13575K, paused 4ms+4ms
D/dalvikvm(22575): GC_CONCURRENT freed 567K, 40% free 8201K/13575K, paused 3ms+3ms
D/dalvikvm(22575): GC_CONCURRENT freed 470K, 40% free 8202K/13575K, paused 2ms+4ms
D/dalvikvm(22575): GC_CONCURRENT freed 475K, 40% free 8201K/13575K, paused 1ms+2ms
D/dalvikvm(22575): GC_CONCURRENT freed 472K, 40% free 8201K/13575K, paused 2ms+3ms
D/dalvikvm(22575): GC_CONCURRENT freed 472K, 40% free 8202K/13575K, paused 3ms+3ms
D/dalvikvm(22575): GC_CONCURRENT freed 473K, 40% free 8201K/13575K, paused 2ms+2ms
D/dalvikvm(22575): GC_CONCURRENT freed 471K, 40% free 8201K/13575K, paused 2ms+2ms
D/dalvikvm(22575): GC_CONCURRENT freed 520K, 40% free 8201K/13575K, paused 2ms+3ms
I/dalvikvm(22681): Turning on JNI app bug workarounds for target SDK version 10…
I/ActivityManager( 141): Start proc com.FD.updater:remote for service com.FD.updater/.SDCardService: pid=22681 uid=1000 gids={1015, 3002, 3001, 3003, 3007}
D/FutureDial(22681): SDCardService - onStart
D/dalvikvm(22575): GC_CONCURRENT freed 470K, 40% free 8156K/13575K, paused 2ms+4ms

so 8ish MB used and heap since of 13ish

but here is Galaxy Tab 3… and I checked ram size and I have 678MB available…
D/dalvikvm( 6708): WAIT_FOR_CONCURRENT_GC blocked 12ms
D/dalvikvm( 6708): GC_CONCURRENT freed 532K, 72% free 6560K/22756K, paused 3ms+2ms, total 37ms
D/dalvikvm( 6708): WAIT_FOR_CONCURRENT_GC blocked 7ms
E/dalvikvm( 6708): adjustAdaptiveCoef max=8388608, min=2097152, ut=568
D/dalvikvm( 6708): GC_CONCURRENT freed 603K, 71% free 6801K/22756K, paused 3ms+3ms, total 29ms
D/dalvikvm( 6708): WAIT_FOR_CONCURRENT_GC blocked 14ms
W/dalvikvm( 6708): threadid=11: thread exiting with uncaught exception (group=0x41099930)
E/com.jme3.app.AndroidHarness( 6708): SEVERE Exception thrown in Thread[GLThread 2114,5,main]
E/com.jme3.app.AndroidHarness( 6708): com.jme3.renderer.RendererException: An OpenGL error has occurred: out of memory
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.android.RendererUtil.checkGLError(RendererUtil.java:125)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.android.OGLESShaderRenderer.updateBufferData(OGLESShaderRenderer.java:1938)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.android.OGLESShaderRenderer.setVertexAttrib(OGLESShaderRenderer.java:2006)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.android.OGLESShaderRenderer.setVertexAttrib(OGLESShaderRenderer.java:2077)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.android.OGLESShaderRenderer.renderMeshDefault(OGLESShaderRenderer.java:2317)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.android.OGLESShaderRenderer.renderMesh(OGLESShaderRenderer.java:2354)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.material.Material.render(Material.java:1119)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.RenderManager.renderGeometry(RenderManager.java:523)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.queue.RenderQueue.renderGeometryList(RenderQueue.java:322)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.queue.RenderQueue.renderQueue(RenderQueue.java:371)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.RenderManager.renderViewPortQueues(RenderManager.java:788)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.RenderManager.flushQueue(RenderManager.java:719)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.RenderManager.renderViewPort(RenderManager.java:983)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.renderer.RenderManager.render(RenderManager.java:1035)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.app.SimpleApplication.update(SimpleApplication.java:252)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.app.AndroidHarness.update(AndroidHarness.java:467)
E/com.jme3.app.AndroidHarness( 6708): at com.jme3.system.android.OGLESContext.onDrawFrame(OGLESContext.java:349)
E/com.jme3.app.AndroidHarness( 6708): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1524)
E/com.jme3.app.AndroidHarness( 6708): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1248)
E/com.jme3.app.AndroidHarness( 6708):

is there an known memory issue on galaxy tab 3,? or some issue with android 4.2.2?

or any hint on what I can do to make it work

In Advance thx

It’s not a java heap out of memory, it’s a graphic memory out of memory. you can’t really monitor it.
Maybe your textures are too big. In my experience you should not have a texture of more than 1024*1024. and of course not too much loaded at the same time in memory.

thx, sadly I have few texture and they are128X128 or 256X256 and all 8bits
got only one big which is main and is 1024x512

is there a verticle limits too per j3o I should worry too?

will remove that 1024X512 and will give another try thx

nehon,

I was definitly not using massive stuff… so before going insane I removed all and tried to find what could cause it…
and I nailed it.

I have a font with 2 png… ( both 256x256 8bits) generated by angelfont : font is cambria 40 pixel high

i have another generated same way but size 18, and it hold in one png

I removed all but a simple bitmaptext. here is code for whole app

@Override
public void simpleInitApp() {
BitmapFont myFont = assetManager.loadFont(“Interface/Cambria_40.fnt”);
BitmapText hudText = new BitmapText(myFont, false);
hudText.setName(“totot”);
hudText.setSize(myFont.getCharSet().getRenderedSize()); // font size
hudText.setColor(ColorRGBA.White); // font color
hudText.setText(“0000000”);
hudText.setLocalTranslation(50, 100, 0); // position
getGuiNode().attachChild(hudText);
}

and this enough to kill Galaxy tab 3, with android 4.2.2
using the 18 works like a charm

same 40 works on my 2 smart phone and the A500.

so something 4.2.2/galaxy tab 3 does not like when fnt is using 2 png…

I shared the fnt in case it can be usefull
https://drive.google.com/folderview?id=0B0zjkNPeXnqweHBXc0o1eTJtekU&usp=sharing

so for now I will refrain using from 2 pngs based font

=D

I just had this same problem, thanks god I found this thread.

In my case it was also on an Android 4.2.2 crappy tablet.

To fix this same error I discovered that you can not assign a null text to the BitmapText. Just adding setText(" ") fixed it.

Thx and my 2 cents!