   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

    return
    
  onInitialized: (n,m) ->
    if n is @tessellation.group.n and m is tessellation.group.m
      console.log "Worker initialized"
      @workerReady = true
      #now waiting for first rendered field.

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

    #then cells
    context.beginPath()
