Version updates!

Started by EgonOlsen, March 28, 2010, 09:47:50 PM

Previous topic - Next topic

EgonOlsen

Uploaded a new version with a slightly more aggressive behaviour of the strip()-method and the option to assign a transformation matrix for the texture on stage 0  to an Object3D. However, the latter doesn't work on my phone (just like environment mapping). The Galaxy seems to have a problem with changing the texture matrix...it works all fine in the emulator though.

Darkflame


EgonOlsen

New version with a bugfix for calcMinDistance methods. I've also updated the Javadocs.

EgonOlsen

#108
New version with less object creation inside of some methods. With this, my newest prototype game doesn't create any noticable garbage in the engine while running the main game.
It's becoming a kind of racing game and looks like this (pre-alpha with placeholder art...more like a test case for now). It runs @ 25fps on my crappy Samsung:

zammbi

QuoteIt runs @ 25fps on my crappy Samsung:
Nice one. Any demo to test?

EgonOlsen

Not yet...it's just too pre alpha... ;)

raft

Quote from: EgonOlsen on July 06, 2010, 09:49:50 PM
With this, my newest prototype game doesn't create any noticable garbage in the engine while running the main game.
can you please give some numbers ?

my game was reporting ~20.000 freed objects per ~5 seconds (4000/sec) on emulator :o i couldnt really find where this much came from.

i've tried some experimental things. for example replaced

if (tile.isHighlighted()) {
object3d.setAdditionalColor(JConfig.COLOR_TILE_HIGHLIGHT);
} else {
object3d.clearAdditionalColor();
}


with

if (highlighted != tile.isHighlighted()) {
highlighted = tile.isHighlighted();

if (highlighted) {
object3d.setAdditionalColor(JConfig.COLOR_TILE_HIGHLIGHT);
} else {
object3d.clearAdditionalColor();
}
}


this dropped gc to ~30.000 objects per ~15 seconds (2000/sec) ??? so almost cut gc in half.

may it be that such methods accidentally create temporary objects ?

EgonOlsen

Opps...clearAdditionalColor() in AE did create a new black color every call. It's fixed now, i've uploaded a new jar.

Currently, i've one gc in around 30-60 secs and that comes mostly from touch events and such. If you are using touch events, this tip is worth a look: http://www.jpct.net/wiki/index.php/Performance_tips_for_Android#Silence_the_touch_events

There are still a lot of methods that aren't optimized for really (if any) low object creation in AE. I only started working on one when i got a problem. So if you do (like with the color stuff), please let me know.

EgonOlsen

New version uploaded which fixes transparency. Former version always applied full alpha regardless of the setting of setTransparency(). This change may cause the trees in the demo source code become almost invisible...i'll correct that later.

EgonOlsen

New version with a fix for converting alpha textures to 16bit and some other, minor stuff.

raft

Quote from: raft on June 08, 2010, 10:56:55 PM
that's weird ??? we are talking about the same plugin for eclipse 3.5, right ?
http://developer.android.com/sdk/eclipse-adt.html

maybe it's only available for linux ?
on ubuntu profile option is available in Eclipse when Nexus One is attached. since zerocool can't see it in windows, i suppose this is a linux (only ?) feature

EgonOlsen

New version, which hopefully fixes some transparency issues on N1.

EgonOlsen

And another version with some micro optimizations, less matrix multiplications and better state management....i hope, that i haven't screwed up anything... ;)

raft

cool ;D 5-10% increase on my N1. the higher the object count the bigger the increase, because of matrix calculations i suppose.

yes, i saw that in trace view too, so profiling is not all for weak ;)

EgonOlsen

Debugging is for the weak, not profiling...you got that wrong... ;)

I've updated the jar again. Please this version too. It reduces GL state changes some more.