Einfache FPS-Messung von Python

Ich möchte die Geschwindigkeit der Schleifenverarbeitung eines Python-Programms kennen. Am sichersten ist es, einen Profiler zu verwenden, aber ich möchte Ecken abschneiden und einfach FPS (Frame pro Sekunde) anzeigen.

fps.py


import time, sys
import Queue
import numpy as np

class fpsCalculator(object):
    def __init__(self, length=5):
        self.times = Queue.LifoQueue()
        self.length = length
        self.fpsHist = []

    def tick_tack(self):
        if self.times.qsize() < self.length:
            self.times.put(time.time())

        elif self.times.qsize() == self.length:
            begin = self.times.get()
            end = time.time()
            self.times.put(end)
            fps = self.length / (end - begin)
            sys.stdout.write("\r FPS: %2.2f " % fps)
            sys.stdout.flush()

            self.fpsHist.append(fps)

    def getFPS(self):
        return np.average(np.array(self.fpsHist[1:]))

fps = fpsCalculator()

while True:
    try:
        fps.tick_tack()
        time.sleep(0.1)
    except KeyboardInterrupt:
        break

print 'average of fps = ', fps.getFPS()

Dies führt jedoch nicht zu fps = 60.

Recommended Posts

Einfache FPS-Messung von Python
Python-Zeitmessung
Python-Grundlagen ①
Grundlagen von Python ①
Kopie von Python
Einführung von Python
Automatisieren einfacher Aufgaben mit Python Inhaltsverzeichnis
Einfacher Vergleich von Python-Bibliotheken, die Excel betreiben
Liste der Python-Module
Einfacher gRPC in Python
Vereinheitlichung der Python-Umgebung
Kopie der Python-Einstellungen
Grundlagen der Python-Scraping-Grundlagen
[Python] Verhalten von Argmax
Verwendung von Python-Einheimischen ()
der Zen von Python
Ändern Sie Maya Python FPS
Python-Simple Sicherheitssoftware
# 4 [Python] Grundlagen der Funktionen
Grundkenntnisse in Python
Nüchterne Trivia von Python3
Zusammenfassung der Python-Argumente
Messung der Ausführungszeit
Auswahl der Messdaten
Grundlagen von Python: Ausgabe
Installation von matplotlib (Python 3.3.2)
Anwendung von Python 3 vars
Verschiedene Verarbeitung von Python
Python - Einfaches Multithread-Beispiel
Implementierungsbeispiel eines einfachen LISP-Verarbeitungssystems (Python-Version)
[Python] [Word] [python-docx] Einfache Analyse von Diff-Daten mit Python
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
[Python] Richtige Verwendung der Karte
Auf dem Weg zum Ruhestand von Python2
Memo zur Messung der Python-Ausführungszeit
Verwenden Sie das Messprotokoll mit Python
Zusammenfassung der Python3-Listenoperationen
Ein einfaches Beispiel für pivot_table.
Python - Schneller Start der Protokollierung
Empfehlung der binpacking Bibliothek von Python
[Python] Wert des Funktionsobjekts (?)
Automatisches Update des Python-Moduls
Python --Überprüfen Sie den Wertetyp
Statische Analyse von Python-Programmen
Über verschiedene Codierungen von Python 3
Objektäquivalenzbeurteilung in Python
Einführung in Aktivitäten mit Python
Python> Umgang mit 2D-Arrays
Installieren Sie mehrere Versionen von Python
Upgrade von Python Anaconda
Umgang mit Python auf Mac
Python: Grundlagen der Verwendung von Scikit-Learn ①
# 1 [python3] Einfache Berechnung mit Variablen
2.x, 3.x Serienzeichencode von Python
Vergleich von 4 Arten von Python-Webframeworks
Messung der Ausführungszeit mit Python With
Einfache Simulation einer Virusinfektion
Überprüfen Sie die OpenSSL-Version von Python 2.6
[Mit einfacher Erklärung] Scratch-Implementierung einer Deep Boltsman-Maschine mit Python ②
Python-Implementierung des Partikelfilters