Sorry, I'm not following what you are saying.

I would expect (though my expectation could very well be wrong :P) that
when I call invalidate(Rect) on a hardware accelerated View, that onDraw()
would get called on that view with the Canvas clip set to the Rect provided
in invalidate(Rect) and that only that portion of the Canvas would need to
be updated.

What I am experiencing is that I call invalidate(Rect) on a hardware
accelerated View and that onDraw() is called with a Canvas containing no
clip and the Canvas is blank, so I need to redraw the entire Canvas.

Is there something I am misunderstanding?

Thanks,
Andrew

On Fri, Jan 20, 2012 at 12:55 PM, Romain Guy <[email protected]> wrote:

> invalidate(Rect) works just fine with hardware acceleration. What it
> does not do (and what it was never documented to do) is force parents
> of the invalidated View to re-executed their draw() method.
>
> On Fri, Jan 20, 2012 at 12:51 PM, ashughes <[email protected]> wrote:
> > Matt,
> >
> > I just posted a comment on your post at stackoverflow
> > (http://stackoverflow.com/q/7233830/287575) about this (unfortunately
> not
> > with the answer).
> >
> > I was wondering if you or anyone else has figured out the answer to your
> > question?
> >
> > I have been unable to find any information from the Android team or
> anywhere
> > else describing why invalidate(Rect) does not work with HW acceleration.
> If
> > it just inherently won't work because of how HW acceleration is
> implemented,
> > it would be nice to know why. If it will work, it would be really
> helpful to
> > know how to do it!
> >
> > Because of this, my current application actually performs better without
> HW
> > acceleration than with HW acceleration because I don't have to redraw the
> > screen every time. However, enabling HW acceleration prevents child and
> > overlapping views from being invalidated who haven't changed because of
> the
> > new DisplayList drawing framework. I would really like to benefit from
> both
> > not having to redraw things that haven't changed (via DisplayList by
> > enabling HW accel) and be able to only redraw parts of things that have
> > changed (via invalidate(Rect)).
> >
> > Thanks,
> > Andrew
> >
> > --
> > 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
>
>
>
> --
> Romain Guy
> Android framework engineer
> [email protected]
>
> --
> 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
>

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

Reply via email to