LibGDX + Android = soo much 10fps(SOLVED)

So I am trying to isolate an issue. My game always seems to run at 10fps.

I first thought it was having too many ‘box2d’ objects, I averaged about 1000. So I rewrote my code so now there is usually less than 150

Then I thought maybe it was the fact that in level creation, I was filling the whole level, then ‘removing’ the empty parts.
-So I redid it, in a way I should have done from beginning, and had it only create from nothing the very specific parts.

So then I realized, all my optimizations were pointless and stupid because nothing had changed.
So I started to look into profiling so I know for REALZ :point: what is actually causing the slowdown.

I am a newb when reading it but I am using eclipse’s DDMS
At some point I start method profiling.
and I start to see where the most cpu and time is spent. then try to reduce from there.

So in beginning I tried optimizing those sections, but after seeing 0 effect, I just started commenting out entire blocks of code, render, update sections
To the point, where I wasn’t rendering/updating any particles, worldly tiles or anything.
Its essentially all removed away. and its still running at 10fps! :cranky: :’( >:(

So

I am not sure what I should be looking for. What exactly is causing my slowdowns?
I’ve removed quite a bit of code but should I try and lower excl cpu % or excl real time? or cpu time/call ?
I am not sure which of the statistics should be my focus. As you can see, they arent necessarily all in the same places.
I have no idea what is causing the performance to be sooo slow.

Any thoughts or helps on how to isolate the performance issue would be greatly appreciated!!

edit:

after hours of struggling, but within minutes of posting. I find the problem

So I switched cfg.useGL20 back to false. And although I doubt that is the issue directly.
It made me turn off a ShaderProgram and FrameBuffer that I was using for a realtime Gaussian blur for the distant background.
and Although I had removed the rendering of what it was blurring. I never removed the ‘blurring’ itself.
Once I removed that, fps jumped back up to 60 (well most of the time :clue: )

Anyways, I suppose there is a more efficient way to do Gaussian blurring than the way I had done it, but I am not too worried about it right now. Just gonna remove it.

Did you break the fps counter? :wink:

FBOs and gaussian blurs are expensive on Android. Firstly you should use tricks to optimize, like low-res FBO, bilinear sampling to reduce texture fetches, and non-dependent texture reads (passing texcoords from vertex shader).

Some of it is explained here:

But most of the time you won’t be able to achieve real-time full screen multi-pass blurs with (current) hardware on Android. Here is a look at some alternatives: