Crabs!

Would I be mad to mandate Android 2.3+? I know that means quite a few of you couldn’t test but… it’d also mean a far greater likelihood of only people who have phones fast enough will be trying the games out.

Cas :slight_smile:

Nuts! :slight_smile:

Fallbacks FTW.

Fallback to what, though? No explosions? It’s hard to really sensibly draw a line at this point. Even relatively modern Android phones are getting risible framerates because they were cheapass in the first place :confused: Myself, I can’t see why anyone would buy one for less than $500 and then expect it to be “good” at stuff but there we go :slight_smile:

Cas :slight_smile:

The difference between Android 2.2 and 2.3 is minimal as the opengl ES subsets and the hardware support for several features may still be missing depending on the used phone.

Stay with 2.2 and only use opengl es 1.1. Though not even all 1.1 features were supported by all android phones…

Indeed VBOs don’t seem to work at all.
The reason for going for 2.3+ is to filter out hardware released 2 years ago that’s just not fast enough anyway. And: incremental GC in 2.3 :slight_smile: That’s very handy in an action game if you don’t want to have to arse about with object pools polluting your nice simple to understand code everywhere. The sprite engine is already hairy enough with all the object pooling it has to do, and as we all know, object pools are the enemy of the actual required GC that the collector has to do.

Cas :slight_smile:

Does that incremental GC in 2.3 do so much more than in 2.2?

Depends how much garbage you produce and how stable you want the framerate :wink: But it is a noticeable, perceivable difference.

Cas :slight_smile:

300 crabs at 25fps on that galaxy-gio piece of crap

Did not respond to physical cancel/quit button

After 30sec it crashed…

Crash logs always appreciated :slight_smile: (Tip: get Elixir2)

Cas :slight_smile:

NPE onTouch() line 279

I have 2.21 and I have paid full 160 euros for it. I demand that I can play all the best and newest stuff out there and if possible with full fps.

Maybe I can bought new phone when my Boxtrix is relesed and I will be rich.

Another data point from the cheapskate end of the market:

HTC Wildfire S (Android 2.3)
100 crabs at 30 fps, but with a lot of slow-down (reported as ~20 fps).

So no Titan Attacks for me. :emo:

Well you will go buying cheapass poo to save a buck or two :slight_smile:

Cas :slight_smile:

Just gave the version currently linked by the qr code in the first post a quick try on my Defy (which doesn’t officially run 2.3).

Framerate starts to drop below 30 (to about 26) with 500 crabs. 1000 crabs is 15fps, 2000 crabs is sitting at about 5-7fps.

Fixed the NPE on line 279? Go go go! :point:

You are doing a lot of math on the CPU that I think could/should be offloaded to the GPU. I don’t know how you’re batching your drawing, but it seems to me that all of the transformation could be done in a vertex shader while not having to submit much more data to the GPU…

[quote] You’re not going to be playing any Puppygames any time soon then…
[/quote]
I know this is totally different… but I was playing Minescraft on high settings.

Did you try this trick?:
http://developer.android.com/resources/articles/window-bg-speed.html

Ok, new version’s up, and hopefully screen rotation and lifecycle management all work now. Also I tried that background hack - maybe it’ll get us a few more fps. Gentlemen, fire up your phones and benchmark! Now what I’m interested in is the point at which it consistently drops under about 27fps and stays there, and also whether it seems smooth or erratic.

Cas :slight_smile:

It’s now 1000 crabs that mine seems to slow down, 900 is 30 steady, 1000 and it starts to wobble, anything from 17 to 29, normally around the mid 20s. The last version seemed to quit fine, this one seems to leave the music playing after I hit home. Roll it back to the previous version ;).

I had to create crabs fast as the flashing background was eye hurting :wink:

Endolf

It is decidedly weird how the framerate goes funny like that. It’s not garbage collection. Just the vagaries of thread scheduling I think, under load.

Cas :slight_smile: