I had a similar problem which appeared to be related to my use of
texturing with glTexturePointer() but maybe it's something to do with
using GL_FLOAT.
It's entirely speculation on my part though...

On Jul 16, 3:33 pm, PaulT
<dr.paul.thomas.android.st...@googlemail.com> wrote:
> Hello everybody,
>
> I've created a simple OpenGL app and created a rendering class which
> implements GLSurfaceView.Renderer.  All it does is draw 100 triangles
> (NUM_OBJECTS = 100) on the screen and move them about, bouncing off
> the edges.  The projection is glOrtho2D and there is no z-buffer.  I'm
> running this on a G1 with continuous redraw enabled.
>
> Here is the onDrawFrame method:
>
> public void onDrawFrame(GL10 gl) {
>   gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
>   for (n = 0; n < NUM_OBJECTS; n++) {
>     gl.glPushMatrix();
>     gl.glTranslatef(posX[n], posY[n], 0);
>     gl.glVertexPointer(2, GL10.GL_FLOAT, 0, vBuffer);
>     gl.glDrawElements(GL10.GL_TRIANGLES, 3, GL10.GL_UNSIGNED_SHORT,
> iBuffer);
>     gl.glPopMatrix();
>     posX[n] += xa[n];
>     posY[n] += ya[n];
>     if (posX[n] > viewW || posX[n] < 0) {
>       xa[n] = -xa[n];
>     }
>     if (posY[n] > viewH || posY[n] < 0) {
>       ya[n] = -ya[n];
>     }
>   }
>
> }
>
> It's pretty simple stuff just to get an idea of the device
> performance.  Note that I am not leaking any garbage in this method.
>
> If we look at the logs while this is running,
>
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 153ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 156ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 157ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 156ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 156ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 157ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 152ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 150ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 153ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 157ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 151ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 159ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 155ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 156ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 153ms
> D/dalvikvm( 3085): GC freed 21842 objects / 524304 bytes in 158ms
> D/dalvikvm( 3085): GC freed 21840 objects / 524256 bytes in 151ms
>
> Every few seconds, the garbage collector has a bit of a tidy up.  If
> we look at the frame rate, it is averaging out to be around 56Hz.  I
> speculate that the system can keep up with the 60Hz vertical sync just
> fine until it needs to collect garbage.
>
> Nothing else is running so this stuff is definitely coming from this
> app.  Unfortunately it causes the display to pause briefly (160ms is
> about 10 frames) so would not be acceptable in an interactive game.
> Does anybody know what causes this (something in the OpenGL code?) and
> can it be avoided?
>
> Thanks for any help.
>
> Paul.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers-unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to