On Mon, Jul 23, 2012 at 2:42 PM, anatoly techtonik <[email protected]>wrote:
> On Mon, Jul 23, 2012 at 9:11 PM, Tristam MacDonald <[email protected]> > wrote: > > On Mon, Jul 23, 2012 at 1:49 PM, anatoly techtonik <[email protected]> > > wrote: > >> > >> On Mon, Jul 23, 2012 at 8:31 PM, Tristam MacDonald < > [email protected]> > >> wrote: > >> > On Mon, Jul 23, 2012 at 6:46 AM, anatoly techtonik < > [email protected]> > >> > wrote: > >> >> > >> >> Hi, > >> >> > >> >> What is the correct way to initiate window redraw? > >> > > >> > > >> > What's wrong with scheduling an update function? IIRC, that should > >> > trigger a > >> > redraw whenever it occurs. > >> > > >> > def update(dt): > >> > pass > >> > > >> > pyglet.clock.schedule_interval(update, 1/60.0) > >> > >> Thanks. Surprisingly, an empty update() call kicks event loop as > >> expected. I want to measure maximum FPS possible on 100% CPU load, so > >> a 1/10000 value looks good for my case. But for the clarity I'd still > >> prefer to kick event loop explicitly. Unfortunately, Google Code > >> Hosting is down at the moment and don't allow me to browse the sources > >> to see how is it implemented. > >> -- > >> anatoly t. > > > > > > Ok, so it's not really possible to do so unless you implement your own > event > > loop. > > > > The default event loop redraws every window for which window.invalid == > True > > (which it is by default), every time through the event loop. > > > > If you want to redraw as fast as possible, you do exactly as you did > > (schedule a high frequency update function), because each time that is > > called the event loop is run, and redraw will happen. > > I'm looking at the pyglet.clock code from > pyglet.clock.schedule_intervalpyglet.clock.schedule_interval > entrypoint and can't find a place where an event loop iteration is > triggered. There is a Clock.call_scheduled_functions, but it is still > unclear what causes it to run, how does it interacts with the event > loop and how come that the on_draw() is called as a result? > > http://code.google.com/p/pyglet/source/browse/pyglet/clock.py You need to look at the app classes for each platform - pretty sure that hook happens in the app, not the clock. -- Tristam MacDonald http://swiftcoder.wordpress.com/ -- You received this message because you are subscribed to the Google Groups "pyglet-users" 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/pyglet-users?hl=en.
