File tree Expand file tree Collapse file tree 1 file changed +9
-0
lines changed
Expand file tree Collapse file tree 1 file changed +9
-0
lines changed 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