From 50db44494716f9bd81fd5c1dfbbab660120a0a62 Mon Sep 17 00:00:00 2001 From: Ahmad Amine Date: Mon, 27 Jan 2025 04:58:54 -0500 Subject: [PATCH] Replace example utils with local frameCounter def --- f1tenth_gym/envs/rendering/rendering_pyqt.py | 27 +++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/f1tenth_gym/envs/rendering/rendering_pyqt.py b/f1tenth_gym/envs/rendering/rendering_pyqt.py index ecd2469e..0aa685fe 100644 --- a/f1tenth_gym/envs/rendering/rendering_pyqt.py +++ b/f1tenth_gym/envs/rendering/rendering_pyqt.py @@ -9,7 +9,6 @@ from PyQt6 import QtWidgets, QtCore from PyQt6 import QtGui import pyqtgraph as pg -from pyqtgraph.examples.utils import FrameCounter from pyqtgraph.exporters import ImageExporter from PIL import ImageColor @@ -24,6 +23,32 @@ INSTRUCTION_TEXT = "Mouse click (L/M/R): Change POV - 'S' key: On/Off" +# Replicated from pyqtgraphs' example utils for ci pipelines to pass +from time import perf_counter +class FrameCounter(QtCore.QObject): + sigFpsUpdate = QtCore.pyqtSignal(object) + + def __init__(self, interval=1000): + super().__init__() + self.count = 0 + self.last_update = 0 + self.interval = interval + + def update(self): + self.count += 1 + + if self.last_update == 0: + self.last_update = perf_counter() + self.startTimer(self.interval) + + def timerEvent(self, evt): + now = perf_counter() + elapsed = now - self.last_update + fps = self.count / elapsed + self.last_update = now + self.count = 0 + self.sigFpsUpdate.emit(fps) + class PyQtEnvRenderer(EnvRenderer): """ Renderer of the environment using PyQtGraph.