Or maybe you can call on_draw() along with flipping display in on_draw, if
you prevent recursion by using some sentinel?

sentinel = False;
def on_draw():
    ....
    if not sentinel:
        sentinel = True
        on_draw()
        flip()
    sentinel = False


2012/7/23 Tristam MacDonald <[email protected]>

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



-- 
Bc. Peter Vaňušanik
http://www.bishojo.tk

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

Reply via email to