Monday, 16 March 2020

How to calculate fps from elapsed time?

p/s: copy from https://stackoverflow.com/questions/43761004/fps-how-to-divide-count-by-time-function-to-determine-fps
  • Here is a very simple way to print your program's frame rate at each frame (no counter needed) :
    import time
    
    while True:
        start_time = time.time() # start time of the loop
    
        ########################
        # your fancy code here #
        ########################
    
        print("FPS: ", 1.0 / (time.time() - start_time)) # FPS = 1 / time to process loop
     
  • If you want the average frame rate over x seconds, you can do like so (counter needed) :
    import time
    
    start_time = time.time()
    x = 1 # displays the frame rate every 1 second
    counter = 0
    while True:
    
        ########################
        # your fancy code here #
        ########################
    
        counter+=1
        if (time.time() - start_time) > x :
            print("FPS: ", counter / (time.time() - start_time))
            counter = 0
            start_time = time.time()
Hope it helps!

No comments:

Post a Comment