Hi Romain, Thanks for the fast response. > Using invalidate() is the trivial View method that I wanted to circumvent, > > because it will adress its parent, which then will scan all of its > children, > > and redraw the ones that are dirty. If you have a lot of children, and > your > > app is an audio program that must not be interrupted, then you have a > > problem. > > Sounds like you need to optimize your application then. > That's exactly what I was trying to do. The audio part can't be optimized anymore because it is native, so I tried to optimize the graphical part.
> > Also I found out that if there is not enough time to redraw some > > view, then all visible views will be redrawn. > > No, that is simply not true. > Dare I disagree? I am using home-made widgets and I monitor when they are redrawn. I found out that they were redrawn often, also when not needed. So I used a ViewGroup derived from AbsoluteLayout, stripped as much as possible. The superfluous redrawing now happens less frequently, but I wanted to optimize further. > > So I was trying to strip down the ViewGroup such that it became faster, > with > > some succes. The bottleneck now is the method drawChild(Canvas canvas, > View > > child), statement child.mPrivateFlags |= View.DRAWN, that can't be used > any > > more. Could you give away the secret what I must use instead? > > How is drawChild() a bottleneck? It simply draws a given child. > The code of drawChild() is complicated and does a lot of things that I do not need. That was the reason of my question. wboe -- 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