Although, ultimately, I would skip event loop altogether and just use
manual event loop, since idling in games and stuff is not worth. See more:
http://www.pyglet.org/doc/programming_guide/dispatching_events_manually.html

2012/7/24 Peter Enerccio <[email protected]>

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


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