Hi there, I have some external experimental hardware providing data to my pyglet app in real-time (device access with ctypes), and it'd like to poll it for data at 1000Hz. Currently, my implementation is with a while loop in __main__ and manual ticks and flips, which works great, but of course thrashes CPU. I just need it to run at 1KHz, but my while loop runs at 600KHz, with each iteration checking my hardware for new data. I'm managing my ticks and framerate with time.time() to get a very nice constant 30.00 fps from the HUD meter.
To try to get this speed and CPU util down to something between 1 & 10KHz, I've tried implementing this with the standard schedule and app.run() framework, but my problem is that schedule_interval has resolution only as good as my framerate, which is 60Hz max with vsync on and 500Hz with it off (i.e. fullscreen fps) along with unsightly shearing. I've thought about using the EventLoop class and overriding the idle() function, as that seems like it would let me evaluate code at much higher rates than framerate with vsync on (but less than while), and tick and flip when I need to (e.g. to get 30 fps), but a) you suggested that I not, being a n00b, and b) I don't know where to start, nor do I have any examples.. Please help. Thanks, Prantik -- 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.
