POV-Ray : Newsgroups : povray.off-topic : BPM : Re: New BPM Server Time
4 Sep 2024 11:21:13 EDT (-0400)
  Re: New BPM  
From: Invisible
Date: 10 Jun 2010 04:17:23
Message: <4c109f93$1@news.povray.org>
>> problem is scheduling a thread to run when I actually want it to run.
> 
> So you want to schedule real-time threads on a timesharing OS.
> 
> Have you bumped the priority of your own process up? Have you scheduled 
> it to wake a few miliseconds early then busy-loop on the actual hardware 
> clock until the tick comes? Have you turned off other things that might 
> be generating interrupts like disk reads?

My measurements indicate that the interval between ticks is rock solidly 
constant - it's just the *wrong* interval. (It's too large.)

I believe the problem is that the library won't let me specify an 
absolute time, only relative times. So if I was "wait 100 ms", but the 
other processing that the program does takes 1 ms, the delay ends up 
being 101 ms, not 100 ms. The fact that taking stuff out of the main 
loop made the timings nearer to what they should be supports this 
hypothesis. (Although it's always possible that the problem is related 
to the size of the quantum that Haskell's thread scheduler is using or 
something daft like that.)

Still, since no other API is available, there's not much I can do about 
it. (Other than whinge at the developers and see if it gets fixed in the 
next release of the library...)


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.