def __init__(self, fps=22.4, step_mul=1, render_sync=False):
"""Create a renderer for use by humans.
Make sure to call `init` with the game info, or just use `run`.
Args:
fps: How fast should the game be run.
step_mul: How many game steps to take per observation.
render_sync: Whether to wait for the obs to render before continuing.
"""
self._fps = fps
self._step_mul = step_mul
self._render_sync = render_sync
self._obs_queue = queue.Queue()
self._render_thread = threading.Thread(target=self.render_thread,
name="Renderer")
self._render_thread.start()
self._game_times = collections.deque(maxlen=100) # Avg FPS over 100 frames.
self._render_times = collections.deque(maxlen=100)
self._last_time = time.time()
self._last_game_loop = 0
self._name_lengths = {}
评论列表
文章目录