Thanks for the quick reply.  Given your last comment about rasterization of 
Path, I think an appropriate option is to just disregard hardware 
acceleration for most of what I'm doing and render the full graphic into a 
set of tiles.  The hardware renderer can optimize the "last mile" step for 
me by efficiently copying and scaling my tiled bitmaps onto the display.

I will also do some performance benchmarks to get a sense for how expensive 
drawing the Picture is versus culling only the portion of the full graphic 
I need.  Hopefully it's negligible.


On Sunday, May 27, 2012 9:46:03 AM UTC-7, Romain Guy (Google) wrote:
>
> > 1. What performance gotchas may exist with simply constructing my own
> > macro notion of a Picture and replaying the raw Canvas operations on
> > draw?
>
> Not much really. The UI toolkit has its own equivalent of Picture called 
> DisplayList. If you render a View with on draw() the toolkit builds such a 
> display list and keeps it until the next invalidate.
>
> > 3. What is the runtime nature of attempting to draw paths and
> > primitives (lines, rects, etc) that are entirely outside the canvas'
> > clipped bounds?  Is it necessary or appropriate for me to call
> > Canvas.quickReject myself or can I rely on this rejection happening at
> > a lower level automatically?  
>
> It will happen automatically but you can save a bit of work by doing it 
> yourself early on.
> >
> > If anyone has other suggestions for things I didn't consider please
> > feel free to let me know.
>
> Just one: path rendering can be very inefficient on the GPU. Currently 
> only rectangles and lines are implement natively, all other types of shapes 
> are rasterized with the software renderer into a GL texture. If your paths 
> change often, performance will be pretty bad.
>
>   I'm hoping to drive toward an elegant and
> > efficient solution that works optimally on newer hardware but with
> > "acceptable" performance on other devices.
> >
> > --
> > 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
>  

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

Reply via email to