HI Joel, drawing in a Canvas can be difficult from a performance approach.
You can speed things up, here are only a few sidenotes you can check: * Do you preload Images * Which format are you using (ARGB 8888, ARGB 4444 or RGB565) : need Alpha ? * Are you allocating memory in you loop * Do you use any Kind of Collection ? = bad ....could be sum up more, but have to go to a meeting =) On 14 Okt., 03:21, Leigh McRae <[email protected]> wrote: > I can't help but smile at this one since there was a thread not that > long ago talking about how people should just use OpenGL. This yet > again shows how useful it would be if the native bitmap canvas calls > could be accelerated. > > Anyway here are some ideas: > > - Do some kind of screen space culling. > - Unroll the loop. Not sure if the compiler does it. If you know there > are 100 then maybe make a loop that does 5-10 per loop. Even if you > only know it's always even then do two per loop. > - If the images don't always move/update then you could render to a > bitmap and use it as a cache. If it's something like a tiled game then > layers could be cached and marked dirty. I do this. > - use OpenGL :( > > On 10/13/2010 7:46 PM, JoelDuggan wrote: > > > > > > > Hey all, > > > I'm looking for some help optimizing some bitmap drawing code. > > > Here's my pseudo-code: > > > draw() { > > > lockCanvas() > > > drawbackgroundBitmap() > > > for (100times) { > > drawbitmap(x,y); > > } > > > unlockCanvas() > > > } > > > That inner loop is my bottleneck. It is taking 160ms to run the whole > > function. 80% of that is spent making the drawBitmap calls in the > > loop. Is there a faster method to draw the bitmaps. The bitmaps are > > basically a fifo (actually an Arraylist) where new ones are added and > > old ones are removed. Would openGL help? > > > Thanks in advance. > > -- > Leigh McRaewww.lonedwarfgames.com -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

