Beispiel #1
0
	def _draw(self, flip=True):
		if self.user_draw:
			self.user_draw(self.inp, self.dt)
		
		def mean(numbers):
			return float(sum(numbers)) / max(len(numbers), 1)
		
		avg_dt = mean(self.dt_history)
		avg_fps = mean([0 if dt == 0 else 1 / dt for dt in self.dt_history])

		self.dbg_counter.y = self.height -17
		self.dbg_counter.text = "%6d %6.2f ms %6.2f fps" % (self.counter, avg_dt * 1000, avg_fps)
		self.dbg_counter.draw()

		self.counter += 1


		if flip:
			self.flip()
		
		if self.fps_limit:
			Timer.accurate_sleep_until(self.timer.prev_ts + int(Timer.freq / self.fps_limit))

		self.dt = min(self.timer.step(), 1 / 20) # max dt

		self.dt_history.append(self.dt)