finally, instead of
self.schedule(self.update_data)

I will use
self.schedule_interval(self.update_data, 0.5)

To save some CPU.


On 13 fév, 08:54, Philippe <[email protected]> wrote:
> Thanks again for you explaination.
> I understand better your sample.
>
> One layer using schedule() to check messages works !
>
> In my application, I do not have particles. But I have some actions
> (FadeIn, MoveBy, ...)
>
> About your queue, then, it depends on how fast it gets filled by the
> UDP thread.
> Seems a better idea to empty it (or try to) at each call of the
> scheduled function.
> But should hope for a fast schedule, and slower UDP anyway :)
>
> On Feb 12, 9:51 pm, claudio canepa <[email protected]> wrote:
>
>
>
>
>
>
>
> > On Sun, Feb 12, 2012 at 8:13 AM, Philippe <[email protected]> wrote:
>
> > snip
>
> > > something like this, will wait, using no CPU, most of the time
> > > and sometimes, will get something out of the queue and process it.
>
> > > >  t = threading.Thread(target=check)
> > > >  def check():
> > > >      running = True
> > > >      while running:
> > > >          msg = my_queue.get()
> > > >          if msg == 'stop':
> > > >              runnning = False
> > > >          else:
> > > >              process_msg(msg)
>
> > > but, it's in a thread :/
>
> > > I am not a specialist, so maybe, this is not correct !
> > > but it's what I think...
>
> > The choice depends on your application style:
>
> > Style 1: highly static, meaning no animations, particles. Basically the
> > view only changes in response to UDP messages.
> > There your use of a *blocking* get may work, because no message implies no
> > changes  in the view.
> > But blocking the main thread can have side effects with the pyglet
> > scheduling, and add lag to the response of local controllers (keys, mouse)
>
> > Style 2: you want smooth animations, maybe particles.
> > Non blocking would be my choice here: you give the main thread the most of
> > CPU available, a more smooth time flow, and not mess pyglet timings.
>
> > > Thank you for your explanation of pyglet FPS. It's clear to me now.
>
> > Still, I do not find how to emit a event that will redraw my window,> or 
> > part of it.
> > > Your code with use of schedule() is the best solution so far.
>
> > > I feel sad to not be able to simply refresh the objects that need to,
> > > based on an event (instead of checking periodically).
> > > I will search little but more !
>
> > Roughly, the standard for Open GL drawing is to redraw all the screen at
> > each frame,
> > Partial refreshes are hacks or stunts.
>
> > --
> > claudio

-- 
You received this message because you are subscribed to the Google Groups 
"cocos2d discuss" 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/cocos-discuss?hl=en.

Reply via email to