Hi Parashar,

If you really need to render with a high frame rate, I would recommend
using SurfaceView.  You can still draw on a Canvas object, but it is
made for this purpose.

http://developer.android.com/guide/topics/graphics/index.html#on-surfaceview

Regards,

- Mike

On Feb 4, 2:15 pm, Parashar <soilder.of....@gmail.com> wrote:
> I am trying to perform basic task of rotating a canvas 20 times a
> second using timer but it doesn't seem to be working properly and its
> lagging. for example, if I rotate rectangle 0.3 degrees per 50 ms it
> should rotate 6 degree in on second, but that is not the case. It
> really slow in rotation. Here is my sample code:
>
> //Code for update task
> class UpdateTimeTask extends TimerTask {
>            public void run() {
>                    hndView.post(new Runnable() {
>                         public void run() {
>                                 hndView.invalidate(); //this code invalidates 
> custom
> view that calls onDraw to draw rotated hand
>                         }
>                       });
>            }
>
> }
>
> //Code for onDraw method of custom view that needs to be update
> @Override protected void onDraw(Canvas canvas) {
>                 super.onDraw(canvas);
>
>                 ang = ang + inc; //ang is angle to rotate and inc is float 
> value of
> 0.3 degree to be incremented
>                 if (ang >= 360) ang = ang - 360;
>                 canvas.rotate(ang, canvas.getWidth()/2, canvas.getHeight()/2);
>                 canvas.drawRect((canvas.getWidth()/2 - 2), 
> (canvas.getHeight()/2 -
> 125), (canvas.getWidth()/2 + 2), (canvas.getHeight()/2 + 10),
> mTextPaint);
>                 canvas.restore();
>
>         }
>
> //code to schedule task
> Timer timer = new Timer();
> UpdateTimeTask tt = new UpdateTimeTask();
> timer.schedule(tt, 0, 50);
>
> Can anyone please tell me what am I doing wrong here? Should I used
> different approach to perform this task? Because its hard to believe
> that you cannot have simple smooth rotation of rectangle 20 times in
> one second.

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