I found that GC can be prevented when using VBOs, nice and steady, high fps too. But still it would be nice to see the source and/or know what is going on when using Buffers instead. Anyone?
Thanks On Thu, 2009-01-29 at 18:02 +0100, Steven Lagerweij wrote: > I've been playing with OpenGL but am unable to get a steady framerate > due to GC. > > When rendering 100 tiles each frame (in ortho mode), the GC needs to > recover ~22000 objects every 3 seconds or so. Each collection is taking > around 110 ms. Of course this means quite a framerate dip. > > ... > D/dalvikvm( 9837): GC freed 21841 objects / 524272 bytes in 113ms > D/dalvikvm( 9837): GC freed 21841 objects / 524272 bytes in 113ms > D/dalvikvm( 9837): GC freed 21841 objects / 524272 bytes in 113ms > D/dalvikvm( 9837): GC freed 21841 objects / 524272 bytes in 114ms > ... > > > The rendering loop I tested with is not making any objects and is very > simple; > > while (super.running) { > gl.glClear(GL10.GL_COLOR_BUFFER_BIT); > gl.glBindTexture(GL10.GL_TEXTURE_2D, tex); > for(x = 0 ; x < 100; x++) { > gl.glVertexPointer(2, GL10.GL_FIXED, 0, tileCoords[x]); > gl.glTexCoordPointer(2, GL10.GL_FIXED, 0, tileTexCoords[x]); > gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, 4); > } > egl.eglSwapBuffers(dpy, surface); > } > > The calls to gl.glVertexPointer(...); and gl.glTexCoordPointer(...); > seem to be ones creating the most objects. > > When I take those two calls outside the for and while loop (so rendering > the same tile at the same position a 100 times each frame), GC didn't > occur at all for the three minutes I waited. > > So, is this supposed to be the case ? > I also could not find sources for the implementation which is > "com.google.android.jsr239.GLImpl"? Anyone knows where to find those? > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---