Any idea hw to remove d flickering???pls do help ....

On Aug 26, 7:21 pm, tina lincon <tina.theresalin...@wipro.com> wrote:
> I am doing an application-infinitely rotating 3D cylinder in
> openGl.The speed varies with finger touch but wen i reduce the speed,i
> can see  flickering happening in animation towards right and
> left.Initialy I thought it is because of the linked list im updating
> but found out there is no such problem with my linked list .I'm using
> a thread here for a small delay after each 30 degree rotation
> drawing.I cant do it widout the thread coz i need a sleep or a delay
> after each 30 degree drawing,if i remove the thread and implement the
> code in thread inside my onDraw frame, the curvature rotation itself
> goes and it appears that images are just left shifting n right
> shifting coz the sleep is not getting identified in onDraw frame.So i
> cant implement my logic here widout using thread..so thread is a must
> in my logic but i guess the flickering is due to my thread...Is the
> flickering issue during animation because of the thread?please do help
> me with this flickering issue......dis is d thread part im using in my
> code.........
> Runnable r1=new Runnable()
>                 {
>                         //Thread t1=new Thread(r1);
>                         //t1.start();
>
>                         public void run()
>                         {
>                                 //t1.start();
>                                 while(true){
>
>                                         if(rotateFlagRight)
>                                          {
>                                                 mRenderer.rotationFlag = 1;
>                                                 
> //System.out.println("positive value of dx...."+dx);
>
>                                                 for(int i=0;i<=30;i++)
>                                                 {
>                                                 mRenderer.mAngleXX= i;
>                                                         if ((dx>10)&& (dx<50))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(100);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         else if ((dx>50)&& 
> (dx<100))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(10);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         else if ((dx>100)&& 
> (dx<150))
>                                                    {
>                                                                 try {
>                                                                               
>   Thread.sleep(8);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                    }
>                                                         else if ((dx>150)&& 
> (dx<200))
>                                                    {
>                                                                 try {
>                                                                               
>   Thread.sleep(7);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                    }
>                                                         else if ((dx>200)&& 
> (dx<250))
>                                                   {
>                                                                 try {
>                                                                               
>   Thread.sleep(5);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                   }
>                                                         else if ((dx>250)&& 
> (dx<300))
>                                                   {
>                                                                 try {
>                                                                               
>   Thread.sleep(4);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                   }
>                                                         else if ((dx>300)&& 
> (dx<350))
>                                                   {
>                                                                 try {
>                                                                               
>   Thread.sleep(3);
>                                                             } catch 
> (InterruptedException e1) {}
>                                                   }
>                                                         else if ((dx>350))
>                                                   {
>                                                                 try {
>                                                                               
>   Thread.sleep(2);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                   }
>                                                 }
>
>                                                 mRenderer. listPhotos();
>                                                 mRenderer.rotationFlag=0;
>                                         }
>                                         if(rotateFlagLeft)
>                                         {
>                                                 //if(rotateFlagLeft)
>                                                 mRenderer.rotationFlag = 2;
>                                                 
> //System.out.println("Negative value of dx...."+dx);
>                                                 for(int i=0;i>=-30;i--)
>                                                 {
>                                                         mRenderer.mAngleXX= i;
>                                                         if ((dx<-350))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(2);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         if ((dx<-300) && 
> (dx>-350))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(3);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         if ((dx<-250) && 
> (dx>-300))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(4);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         if ((dx<-200) && 
> (dx>-250))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(5);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         if ((dx<-150) && 
> (dx>-200))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(7);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         else if 
> ((dx<-100)&&(dx>-150))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(8);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         else if 
> ((dx<-50)&&(dx>-100))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(10);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>                                                         else if 
> ((dx<-10)&&(dx>-50))
>                                                         {
>                                                                 try {
>                                                                               
>   Thread.sleep(100);
>                                                                         } 
> catch (InterruptedException e1) {}
>                                                         }
>
>                                                 }
>                                                         //}
>                                                 mRenderer.listPhotos();
>                                                 mRenderer.rotationFlag=0;
>
>                                                                 //continue;
>
>                                         }
>                                         if(!rotateFlagLeft){
>                                                  if(!rotateFlagRight)
>                                                  {
>                                                 rotateFlagLeft=false;
>                                                 rotateFlagRight=false;
>                                                  }
>
>                                         }
>                                 }
>                         }
>                         };
> please do help me to reduce the flickering.Thanks in advance
> Tina

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