   context.restore()
   return rval
 
+fpsLimiting = false
 lastTime = Date.now()
 fpsDefault = 30
 dtMax = 1000.0/fpsDefault #
 
 redrawLoop = ->
   if dirty
-    t = Date.now()
-    if t - lastTime > dtMax
+    if not fpsLimiting or ((t=Date.now()) - lastTime > dtMax)
       if drawEverything()
         tDraw = Date.now() - t
         #adaptively update FPS

  draw: (cells, context) ->
    return false if (not @cellShapes) or (not @workerReady)
    #first borders
    context.beginPath()
    for cell, i in @cells
      unless cells.get cell
        runCommands context, @cellShapes[i]
        null
    context.stroke()

    #then cells
    context.beginPath()

redraw = -> dirty = true

drawEverything = ->
  context.clearRect 0, 0, canvas.width, canvas.height
  context.save()
  s = Math.min( canvas.width, canvas.height ) / 2 #
  context.scale s, s
  context.translate 1, 1
  context.fillStyle = "black"
