你可以尝试这样的东西……虽然我不确定你是否想要这个或其他东西……
import datetime
class FPS:
def init(self):
…
…
self._elapsed = 0
self._fps = 0
def start(self, ttl):
self._startTime = datetime.datetime.now()
self._currentTime = datetime.datetime.now() + datetime.timedelta(seconds=ttl)
# print('counter started at --> ', self._startTime)
# print('counter stopped at --> ', self._currentTime)
return self._startTime, self._currentTime
def elapsed_time(self):
self._elapsed = (self._currentTime - self._startTime).total_seconds()
return self._elapsed
def update_frames(self):
curr, start = self._currentTime, self._startTime
if curr != start and curr != 0:
print('updatin frames ...')
for i in range(int(self._elapsed) + 1):
self._total_number_of_frames += i
else:
self._total_number_of_frames += 1
self.current_fps()
print("frames: {}, fps: {}, time spent: {}".format(
self._total_number_of_frames,
self._fps,
self._elapsed
))
def current_fps(self):
self._fps = self._total_number_of_frames / self._elapsed
return self._fps
if name == ‘main‘:
fps = FPS()
ttl = int(input(‘time-to-live in seconds: ‘))
fps.start(ttl)
fps.elapsed_time()
fps.update_frames()
</code>