Why Android 2.1 works so slow

31 views
Skip to first unread message

Максим Андрущенко

unread,
Apr 9, 2010, 8:41:43 AM4/9/10
to android...@googlegroups.com
Hi!

On my target platform, based on s3c6410 (armv6) Android works very slow!
I use 16 bpp with resolution 800x480.
Screen updates slow, seldom i see some blinking, when i quickly type on soft keyboard, or if to change desktop.

Is there anybody has the same problem, is it possible to fix it?

David Turner

unread,
Apr 9, 2010, 1:22:56 PM4/9/10
to andrusc...@mail.ru, android...@googlegroups.com
do you have hardware graphics acceleration or are you relying solely on software rendering ?

2010/4/9 Максим Андрущенко <andrusc...@mail.ru>

--
unsubscribe: android-porti...@googlegroups.com
website: http://groups.google.com/group/android-porting

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

supermaximus79

unread,
Apr 9, 2010, 1:39:03 PM4/9/10
to android-porting
I have built in chip s3c6410 2d and 3d hardware graphics accelerators,
but i don't use them with Android.
I just implemented in my framebuffer driver double buffering and pan
function, which change offset from frame buffer start.
I this not enough to make Android drawing fast?

I know that it's possible to use hardware accelerators with Android,
but i didn't find an examples.
I downloaded Samsung i5700 mobile phone Android sources, this phone
based on chip i use - s3c6410, but found nothing about graphics
accelerators in them.
Could you help me with information about hardware accelerations with
Android.
Where from should i start?

Thanks!

On Apr 9, 8:22 pm, David Turner <di...@android.com> wrote:
> do you have hardware graphics acceleration or are you relying solely on
> software rendering ?
>

> 2010/4/9 Максим Андрущенко <andruschenk...@mail.ru>


>
> > Hi!
>
> > On my target platform, based on s3c6410 (armv6) Android works very slow!
> > I use 16 bpp with resolution 800x480.
> > Screen updates slow, seldom i see some blinking, when i quickly type on
> > soft keyboard, or if to change desktop.
>
> > Is there anybody has the same problem, is it possible to fix it?
>
> > --

> > unsubscribe: android-porti...@googlegroups.com<android-porting%2Bunsu...@googlegroups.com>

David Turner

unread,
Apr 10, 2010, 9:23:55 AM4/10/10
to andrusc...@mail.ru, android-porting


2010/4/9 supermaximus79 <andrusc...@mail.ru>

I have built in chip s3c6410 2d and 3d hardware graphics accelerators,
but i don't use them with Android.
I just implemented in my framebuffer driver double buffering and pan
function, which change offset from frame buffer start.
I this not enough to make Android drawing fast?


Probably, software composition is quite CPU intensive, especially if you have large amounts of pixels
(800x480 should be considered large, especially for an ARMv6)
 
I know that it's possible to use hardware accelerators with Android,
but i didn't find an examples.
I downloaded Samsung i5700 mobile phone Android sources, this phone
based on chip i use - s3c6410, but found nothing about graphics
accelerators in them.

I don't know what are the "Samsung i5700 Android sources", but you're probably missing OpenGL ES drivers.
 
Could you help me with information about hardware accelerations with
Android.
Where from should i start?

Thanks!

On Apr 9, 8:22 pm, David Turner <di...@android.com> wrote:
> do you have hardware graphics acceleration or are you relying solely on
> software rendering ?
>
> 2010/4/9 Максим Андрущенко <andruschenk...@mail.ru>
>
> > Hi!
>
> > On my target platform, based on s3c6410 (armv6) Android works very slow!
> > I use 16 bpp with resolution 800x480.
> > Screen updates slow, seldom i see some blinking, when i quickly type on
> > soft keyboard, or if to change desktop.
>
> > Is there anybody has the same problem, is it possible to fix it?
>
> > --
> > unsubscribe: android-porti...@googlegroups.com<android-porting%2Bunsu...@googlegroups.com>
> > website:http://groups.google.com/group/android-porting
>
> > To unsubscribe, reply using "remove me" as the subject.

supermaximus79

unread,
Apr 10, 2010, 11:19:51 AM4/10/10
to android-porting
You mean hardware OpenGL drivers?
Because from log file i see that Android uses software OpenGL:
libGLES_android.so

I/SurfaceFlinger( 1731): SurfaceFlinger is starting
I/SurfaceFlinger( 1731): SurfaceFlinger's main thread ready to run.
Initializing graphics H/W...
init: event { 'add', '/class/vc/vcs7', 'vc', '', 7, 7 }
init: event { 'add', '/class/vc/vcsa7', 'vc', '', 7, 135 }
E/SurfaceFlinger( 1731): Couldn't open /sys/power/wait_for_fb_sleep
or /sys/power/wait_for_fb_wake
I/gralloc ( 1731): using (fd=22)
I/gralloc ( 1731): id = s3c-fb
I/gralloc ( 1731): xres = 800 px
I/gralloc ( 1731): yres = 480 px
I/gralloc ( 1731): xres_virtual = 800 px
I/gralloc ( 1731): yres_virtual = 960 px
I/gralloc ( 1731): bpp = 16
I/gralloc ( 1731): r = 11:5
I/gralloc ( 1731): g = 5:6
I/gralloc ( 1731): b = 0:5
I/gralloc ( 1731): width = 127 mm (160.000000 dpi)
I/gralloc ( 1731): height = 76 mm (160.421051 dpi)
I/gralloc ( 1731): refresh rate = 60.16 Hz
E/FramebufferNativeWindow( 1731): xDpi -2046820352
E/FramebufferNativeWindow( 1731): yDpi -2046820352
D/libEGL ( 1731): egl.cfg not found, using default config
D/libEGL ( 1731): loaded /system/lib/egl/libGLES_android.so
I/SurfaceFlinger( 1731): EGL informations:
I/SurfaceFlinger( 1731): # of configs : 8
I/SurfaceFlinger( 1731): vendor : Android
I/SurfaceFlinger( 1731): version : 1.4 Android META-EGL
I/SurfaceFlinger( 1731): extensions: EGL_KHR_image
EGL_KHR_image_base
EGL_KHR_image_pixmap EGL_ANDROID_image_init: no such service
'bootanim'
native_buffer EGL_ANDROID_swap_rectangle
EGL_ANDROID_get_render_buffer
I/SurfaceFlinger( 1731): Client API: OpenGL ES
I/SurfaceFlinger( 1731): EGLSurface: 5-6-5-0, config=0x1000000
I/SurfaceFlinger( 1731): flags : 001c0000
W/SurfaceFlinger( 1731): ro.sf.lcd_density not defined, using 160
dpi by default.
I/SurfaceFlinger( 1731): OpenGL informations:
I/SurfaceFlinger( 1731): vendor : Android
I/SurfaceFlinger( 1731): renderer : Android PixelFlinger 1.1
I/SurfaceFlinger( 1731): version : OpenGL ES-CM 1.0
I/SurfaceFlinger( 1731): extensions: GL_OES_byte_coordinates
GL_OES_fixed_point GL_OES_single_precision GL_OES_read_format
GL_OES_compressed_paletted_textu

On 10 апр, 16:23, David Turner <di...@android.com> wrote:
> 2010/4/9 supermaximus79 <andruschenk...@mail.ru>

> > <android-porting%2Bunsu...@googlegroups.com<android-porting%252Buns...@googlegroups.com>


>
> > > > website:http://groups.google.com/group/android-porting
>
> > > > To unsubscribe, reply using "remove me" as the subject.
>
> > --

> > unsubscribe: android-porti...@googlegroups.com<android-porting%2Bunsu...@googlegroups.com>
> > website:http://groups.google.com/group/android-porting

David Turner

unread,
Apr 10, 2010, 6:46:30 PM4/10/10
to andrusc...@mail.ru, android-porting
On Sat, Apr 10, 2010 at 8:19 AM, supermaximus79 <andrusc...@mail.ru> wrote:
You mean hardware OpenGL drivers?
Because from log file i see that Android uses software OpenGL:
libGLES_android.so

Yes, Android provides a software implementation has a fallback, but performance is not its second name.
 

supermaximus79

unread,
Apr 11, 2010, 7:33:54 AM4/11/10
to android-porting
For example i will have hardware OpenGL libraly.
But i don't know how to implement it in Android, because it is not
described.
Do you know the methods how to do this?
Or may be you saw some articles about it?

Thanks

On 11 апр, 01:46, David Turner <di...@android.com> wrote:

> > > > <android-porting%2Bunsu...@googlegroups.com<android-porting%252Buns...@googlegroups.com>
> > <android-porting%252Buns...@googlegroups.com<android-porting%25252Bun...@googlegroups.com>

Patrick

unread,
Apr 11, 2010, 10:18:52 AM4/11/10
to android-porting
Dear Sir,

Hi,
I also notice this phenomenon. I think we should modify "dev/fb" to
let it use 2D and 3D hardware acceleration directly.

Maybe we could cooperate to fix this issue.

(Now, there are OMAP / TERGA / OSD branches, but there is no samsung
branch.)
(Actually, I hope there would be a branch for Linux Kernel - Samsung)

On 4月10日, 上午1時39分, supermaximus79 <andruschenk...@mail.ru> wrote:
> I have built in chip s3c6410 2d and 3d hardware graphics accelerators,
> but i don't use them with Android.
> I just implemented in my framebuffer driver double buffering and pan
> function, which change offset from frame buffer start.
> I this not enough to make Android drawing fast?
>
> I know that it's possible to use hardware accelerators with Android,
> but i didn't find an examples.
> I downloaded Samsung i5700 mobile phone Android sources, this phone
> based on chip i use - s3c6410, but found nothing about graphics
> accelerators in them.
> Could you help me with information about hardware accelerations with
> Android.
> Where from should i start?
>
> Thanks!
>

> On Apr 9, 8:22špm, David Turner <di...@android.com> wrote:
>
> > do you have hardware graphics acceleration or are you relying solely on
> > software rendering ?
>

> > 2010/4/9 íÁËÓÉÍ áÎÄÒÕÝÅÎËÏ <andruschenk...@mail.ru>

Disco Stu 010

unread,
Apr 12, 2010, 10:56:50 AM4/12/10
to android-porting
Hi David,

I guess this answers the question on 3D hardware acceleration. Want good 3D performance, hardware accelerate your openGL.

What about 2D graphics operations? Android 2.1 seems to have significantly regressed in this area. We have some apps with extensive animations and on the same device, the performance is quite a bit poorer than what was seen with 1.5.

Any guidance on the specific areas that need to be hardware accelerated or optimized for good 2D performance?

Thanks,
DS.


PS: One observation I have is that 2.1 seems to be issues far more repaints than 1.5 did. No hardware accelerator can solve this but might be one cause of the slowness. - DS.


scs sek

unread,
Apr 12, 2010, 5:01:36 PM4/12/10
to android-porting
I profiled in each level in 2D bitmap software case and it shows more time on repaint /draw, especially in the Java and Graphics (Framework).
I am also looking for some lead on this issue to improve 2D performance.
Reply all
Reply to author
Forward
0 new messages