On 12/14/17 6:45 PM, Ivan Trombley wrote:
On Thursday, 14 December 2017 at 21:47:05 UTC, Rene Zwanenburg wrote:
On Thursday, 14 December 2017 at 21:11:34 UTC, Ivan Trombley wrote:
I need to be able to put a thread to sleep for some amount of time. I
was looking at using Thread.sleep but it appears that on Windows,
it's limited to millisecond resolution. Is there a way to do this in
a cross-platform way that is higher resolution?
Sleeping for very short periods is usually a bad idea for various
reasons. What do you need it for?
If you really need this, go for a loop with a high resolution timer.
Something along the lines of this:
while (render)
{
immutable auto startTime = MonoTime.currTime;
// Render the frame...
immutable auto remain = m_frameDuration - (startTime -
MonoTime.currTime);
if (remain > Duration.zero)
Thread.sleep(remain);
}
So... you plan on rendering more than 1000 frames per second?
I think in any case, even if the API allows it, you are probably not
getting much better resolution on your non-windows systems.
Have you tried it anyway and see how it works? I think it might actually
work just fine.
-Steve