Hm, seems my post got swalled by the flying spagetthi monster. Here we
go again.

I wonder how you measure the time. Do you measure you frames like
this?

...
long startTime = System.nanoTime();
int frames = 0;

public void onDrawFrame( )
{
   ... draw stuff ...
   if( System.nanoTime() - startTime > 1000000000 )
   {
      Log.d( "My App", "fps:  " + frames )
      frames = 0;
      startTime = System.nanoTime();
   }
}

This gives you the frames rendered each second and takes into account
eglSwapBuffers execution time which tells the GPU to actually draw
stuff (if the GPU buffers haven't been filled up to that point). I
highly doubt the 100-120fps on the Droid. The maximum amount of fps
achievable on any Android device so far is 60fps due to vertical
synch. Additionally you have the actual drawing executed in
eglSwapBuffers for the most part unless your scene is extremely big
and fills up the command buffer, which is not the case with a puny 4-5
fullscreen quads. I'd expect something like 30-33fps for your scenario
as that poor little thing is heavily fill-rate bound and blending only
makes it worse. I'd love to know how you timed your code.
On 13 Apr., 23:41, Vladimir <vladimir.funti...@gmail.com> wrote:
> >>Rokon got 60fps and my app just 55fps in average.
>
> I tried drawTexfOES for backgrounds in Rokon and got 200+ fps with 4
> or 5 alpha-blended layers on Droid, around 100-120 on G1. I also used
> it in a 3D game I wrote from scratch and there was a noticeable
> performance boost compared to quads.
>
> >>Canvas faster than OpenGL way. Why? Did anybody test it on the other device?
>
> I can assure you that Canvas performance is terrible on both G1 and
> Droid (since 2.1) I own, and most devices out there.
>
> On Apr 6, 8:12 am, lixin China <smallli...@gmail.com> wrote:
>
> > I'm preparing code a game.
> > So I need benchmark the OpenGL find a good way render my 2d stuffs.
>
> > And I found a project have done 
> > that.http://code.google.com/p/apps-for-android/
> > SpriteMethodTest
>
> > I only have nexus one. The following it's the test result from my
> > phone.
> > ========================================
> > test 1: 10 Sprites without animate
> > Canvas:   142.85 fps
> > OpenGL 1: 34.48 fps
> > OpenGL 2: 33.33 fps
> > OpenGL 3: 33.33 fps
>
> > test 2: 10 Sprites with animate
> > Canvas:   90 fps
> > OpenGL 1: 32 fps
> > OpenGL 2: 33 fps
> > OpenGL 3: 32 fps
>
> > ========================================
> > test 3: 100 Sprites without animate
> > Canvas:   111 fps
> > OpenGL 1: 43.47 fps
> > OpenGL 2: 43.47 fps
> > OpenGL 3: 41.66 fps
> > test 4: 100 Sprites with animate
> > Canvas:  62.5 fps
> > OpenGL 1: 45 fps
> > OpenGL 2: 43 fps
> > OpenGL 3: 45 fps
> > =======================================
> > test 5: 500 Sprites without animate
> > Canvas:  27 fps
> > OpenGL 1:20 fps
> > OpenGL 2:23.8 fps
> > OpenGL 3:23.8 fps
> > test 6: 500 Sprites with animate
> > Canvas:   25 fps
> > OpenGL 1: 20 fps
> > OpenGL 2: 23 fps
> > OpenGL 3: 22 fps
> > =======================================
> > test 7: 1000 Sprites without animate
> > Canvas:   15.38 fps
> > OpenGL 1: 10.5 fps
> > OpenGL 2: 12.82 fps
> > OpenGL 3: 14.7 fps
> > test 8: 1000 Sprites with animate
> > Canvas:   15.15 fps
> > OpenGL 1: 10.3 fps
> > OpenGL 2: 12.65 fps
> > OpenGL 3: 14.28 fps
>
> > ==================================
>
> > The result observably show that the rendering performance on nexus
> > one, Canvas faster than OpenGL way.
> > Why? Did anybody test it on the other device?
>
> > And another question.
> > I write a test application just render a background and a moving
> > sprite with draw_texture extension.
> > And use Rokon (which is a 2D game engine) do the same thing.
> > And test device of course its my nexus one.
>
> > Rokon got 60fps and my app just 55fps in average.
> > It was weird because I saw a video on Google I/O Session about how to
> > write a real-time game(http://www.youtube.com/watch?v=U4Bk5rmIpic.
> > Video shows that draw_texture have better performance that the usual
> > way.
> > Somebody knew the reason?

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

To unsubscribe, reply using "remove me" as the subject.

Reply via email to