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)


On Tue, Apr 7, 2009 at 1:41 PM, Ulrik Rasmussen <haskell@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@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe