"""Send out game state data relevant to clients."""
 
         # TODO: limit to connection_id if provided
-        print('DEBUG send_gamestate')
         self.io.send('TURN ' + str(self.turn))
         from plomrogue.mapping import FovMap
         import multiprocessing
             player = self.get_player(c_id)
             if player._fov:
                 continue
-            player.prepare_multiprocessible_fov_stencil() #!
+            player.prepare_multiprocessible_fov_stencil()
             player_fovs += [player._fov]
             player_fov_ids += [player.id_]
-            print('DEBUG regen FOV for', player.id_)
-        if len(player_fovs) > 0:
+        new_fovs = []
+        single_core_until = 8  # since multiprocess has its own overhead
+        if len(player_fovs) > single_core_until:
             pool = multiprocessing.Pool()
-            new_fovs = pool.map(FovMap.init_terrain, [fov for fov in player_fovs])  #!
+            new_fovs = pool.map(FovMap.init_terrain, [fov for fov in player_fovs])
             pool.close()
             pool.join()
+        elif len(player_fovs) <= single_core_until:
+            for fov in player_fovs:
+                new_fovs += [fov.init_terrain()]
         for i in range(len(player_fov_ids)):
             id_ = player_fov_ids[i]
             player = self.get_thing(id_)