Hi Robert,

I'm using GLSurfaceView. I checked GL_DEPTH_BITS and indeed I have a
24 bit depth buffer.

Since you have a Droid, could you do me a favor? Could you make a
simple app with nothing but a GLSurfaceView, load a 1024x1024 texture
(I'm actually using 512x1024, but 1024x1024 should show the problem
better) and display it in a full screen quad? If you can get 60fps
then there's something definitely wrong with my code.

It seems to me that there's a bottleneck somewhere when using
textures, because if I use a small texture and put it in a full screen
quad, I get 60fps no problem. It's when I use a larger texture that
the framerate starts dropping.

Does the Droid/Milestone have dedicated video RAM? Or is it shared
system RAM? If it's shared, could the bottleneck be in transferring
the big texture to the GPU on every frame?



Thank you,

Federico



On Jan 31, 2:09 pm, Robert Green <rbgrn....@gmail.com> wrote:
> Federico - are you using GLSurfaceView or did you init EGL yourself?
> If you initialized it yourself, did you check to make sure the config
> gave you 24 bits of depth and not 16?  That would be one thing to
> cause the slowdown.
>
> I usually get 40FPS on a Droid full-screen (not with a big quad but
> with a 3D scene) so something is certainly up with your code.
>
> On Jan 31, 10:58 am, Lance Nanek <lna...@gmail.com> wrote:
>
>
>
> > I don't have a Droid to test on, but if you haven't tried it already,
> > it might be worth dropping the various texture settings down to their
> > fastest/lowest quality and enabling mipmaps to check if that's where
> > the problem is. Something like this:
>
> > gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_FASTEST);
>
> > if ( gl instanceof GL11 ) {
> >         gl.glTexParameterf(GL11.GL_TEXTURE_2D, GL11.GL_GENERATE_MIPMAP,
> > GL11.GL_TRUE);}
>
> > gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MIN_FILTER,
> > GL10.GL_NEAREST);
> > gl.glTexParameterf(GL10.GL_TEXTURE_2D, GL10.GL_TEXTURE_MAG_FILTER,
> > GL10.GL_NEAREST);
>
> > Some of the past threads have also stated that depth size 24 is faster
> > than anything else on the Droid for some reason. So make sure you end
> > up with that config.
>
> > On Jan 30, 11:58 pm, Federico Carnales <fedecarna...@gmail.com> wrote:
>
> > > Hi all,
>
> > > So I'm doing some simple 2D stuff with OpenGL on Android and found the
> > > performance to be very, very poor.
>
> > > To give you an example, I made an app with a full screen
> > > GLSurfaceView. I loaded a 512x1024 texture (containing a 480x854
> > > image), set up an orthogonal 2D matrix, and set it to draw a 480x854
> > > pixel quad with that texture, using vertex and texture arrays.
> > > Lighting, dither, blending, etc. is disabled.
>
> > > I would expect this to run at 60fps without problem, but that simple
> > > operation already drags the frame drawing time to 19ms/frame.
>
> > > If I add some more small textured quads around the screen, the drawing
> > > time goes up to 22/24ms. If I enable blending it balloons to 28/30ms.
>
> > > This is testing on a Motorola Milestone, running 2.0.1.
>
> > > Is this normal? Am I doing something wrong or is it just a common
> > > problem in Android?
>
> > > Any advice on how to attain 60fps drawing simple textured quads in 2D
> > > using OpenGL?
>
> > > Thanks in advance!
>
> > > Regards,
> > > Federico

-- 
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