File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11from dataclasses import dataclass
22from datetime import datetime
3+ import logging
34from time import time , sleep
45from typing import Any , Protocol
56
67from pydantic import BaseModel , Field
78
9+ logger = logging .getLogger (__name__ )
10+ logger .setLevel (logging .INFO )
811
912class SimpleFrameRate :
1013 def __init__ (self ):
1114 self .t = None
15+ self ._last_print = None
1216
1317 def reset (self ):
1418 self .t = None
1519
1620 def __call__ (self , frame_rate : int | float ):
1721 if self .t is None :
1822 self .t = time ()
23+ self ._last_print = self .t
1924 sleep (1 / frame_rate if isinstance (frame_rate , int ) else frame_rate )
2025 return
2126 sleep_time = (
2227 1 / frame_rate - (time () - self .t ) if isinstance (frame_rate , int ) else frame_rate - (time () - self .t )
2328 )
2429 if sleep_time > 0 :
2530 sleep (sleep_time )
31+ if self ._last_print is None or time () - self ._last_print > 30 :
32+ self ._last_print = time ()
33+ logger .info (f"FPS: { 1 / (time () - self .t )} " )
34+
2635 self .t = time ()
2736
2837
You can’t perform that action at this time.
0 commit comments