I have a similar problem but I was using SurfaceView properly as you 
mention Romain Guy but changing my code over does not work. The problem and 
code was posted here
http://stackoverflow.com/questions/12688409/android-textureview-canvas-drawing-problems
The unlockandpostcanvas method does nothing. neither does 
TextureView.invalidate or surface.updateTexImage(). Only tapping the screen 
gets it to display??
Any ideas?

On Monday, 1 October 2012 18:17:57 UTC+2, Romain Guy (Google) wrote:
>
> There is an overhead associated to invalidate() but unless your 
> hierarchy is extremely complicated it shouldn't be such an issue. But 
> you're right: SurfaceView can be used to avoid calling invalidate() 
> but don't override it's onDraw() method. You usually create a new 
> thread that renders onto the surface. 
>
> On Mon, Oct 1, 2012 at 2:53 AM, Ajit Vasudevan 
> <[email protected]<javascript:>> 
> wrote: 
> > Hi Romain, 
> > 
> > Thanks for your response. 
> > 
> > I was experiencing a very interesting behavior. I started using a custom 
> > view inside a framelayout, and performed all the primitive operations 
> and 
> > called invalidate() to let the system call onDraw. It was choking. I 
> even 
> > tried to invalidate a rect, but it was just not fast enough - the 2nd 
> view 
> > that was requesting the underlying view to redraw certain primitives 
> based 
> > on the actions on the 2nd view was not responsive. I then started using 
> the 
> > SurfaceView to see if there is any benefit for the same operation - and 
> > voila - it worked like a charm. This is why is used SurfaceView as a 
> > substitute - there was an apparent performance benefit. 
> > 
> >  That said, I'm going to take another look at my hierarchy, and all the 
> > custom views (there are quite a few), to make sure there are no other 
> leaks. 
> > Like you said, I would rather use a View instead of SurfaceView.  Thanks 
> for 
> > your input though - it does answer the question that I can use a canvas 
> with 
> > TextureView if i follow the intended mode of use. 
> > 
> > -Ajit 
> > 
> > On Saturday, September 29, 2012 2:47:45 PM UTC-7, Romain Guy (Google) 
> wrote: 
> >> 
> >> Hi, 
> >> 
> >> If you were using SurfaceView's onDraw() method then you were not 
> >> getting any benefit. You have to use 
> >> lockCanvas()/unlockCanvasAndPost() and post on the underlying Surface. 
> >> TextureView works in a similar way: you can call 
> >> lockCanvas()/unlockCanvasAndPost(). 
> >> 
> >> However, it seems all you need is a View. It's easier to use and since 
> >> you are not using SurfaceView properly anyway it will do the same 
> >> thing. 
> >> 
> >> On Thu, Sep 27, 2012 at 2:19 PM, Ajit Vasudevan <[email protected]> 
> wrote: 
> >> > Hello, 
> >> > 
> >> > I am currently working on an app that requires computations/rendering 
> >> > based 
> >> > on a variety of user inputs. I have implemented the SurfaceView and 
> >> > things 
> >> > work as expected. 
> >> > But I started facing performance issues when I tried to put this 
> inside 
> >> > a 
> >> > horizontal scroll view. Obviously it is not intended to work this way 
> - 
> >> > but 
> >> > I tried anyway :) 
> >> > Based on what I have read - it appears like I have to move to 
> >> > TextureView. 
> >> > But i am unable to override the onDraw, and therefore cannot perform 
> the 
> >> > necessary drawing using the Canvas. This might be a trivial question 
> - 
> >> > but I 
> >> > wanted to know if we can use TextureView to draw primitives on the 
> >> > screen 
> >> > using a Canvas? The only examples I have seen thus far show the use 
> of 
> >> > video/camera/openGL rendering on the TextureView. 
> >> > 
> >> > Any help on this would be great. 
> >> > 
> >> > Thanks much 
> >> > -Ajit 
> >> > 
> >> > -- 
> >> > 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] <javascript:> 
> >> > 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]<javascript:> 
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:> 
> > For more options, visit this group at 
> > http://groups.google.com/group/android-developers?hl=en 
>
>
>
> -- 
> Romain Guy 
> Android framework engineer 
> [email protected] <javascript:> 
>

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