[Haskell-cafe] threadDelay granularity

Ulrik Rasmussen haskell at utr.dk
Tue Apr 7 11:25:18 EDT 2009


On Tue, Apr 07, 2009 at 04:34:22PM +0200, Peter Verswyvelen wrote:
> Do you want to cap the rendering framerate at 60FPS or the animation
> framerate?
> Because when you use OpenGL and GLFW, you can just
> 
> GLFW.swapInterval $= 1
> 
> to cap the rendering framerate at the refresh rate of your monitor or LCD
> screen (usually 60Hz)

I just want to cap the rendering framerate. The game logic is running in
other threads, and sends rendering information via a Chan to the
renderer. 

I'm using GLUT, and have never heard of GLFW. However, that seems to be
a better tool to get the job done. I'll check it out, thanks :).

/Ulrik

> 
> 
> On Tue, Apr 7, 2009 at 1:41 PM, Ulrik Rasmussen <haskell at utr.dk> wrote:
> 
> > Hello.
> >
> > I am writing a simple game in Haskell as an exercise, and in the
> > rendering loop I want to cap the framerate to 60fps. I had planned to do
> > this with GHC.Conc.threadDelay, but looking at it's documentation, I
> > discovered that it can only delay the thread in time spans that are
> > multiples of 20ms:
> >
> >
> > http://www.haskell.org/ghc/docs/6.4/html/libraries/base/Control.Concurrent.html
> >
> > I need a much finer granularity than that, so I wondered if it is
> > possible to either get a higher resolution for threadDelay, or if there
> > is an alternative to threadDelay?
> >
> > I noticed that the SDL library includes the function "delay", which
> > indeed works with a resolution down to one millisecond. However, since
> > I'm using HOpenGL and GLUT, I think it would be a little overkill to
> > depend on SDL just for this :).
> >
> >
> > Thanks,
> >
> > Ulrik Rasmussen
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
> >


More information about the Haskell-Cafe mailing list