From b5ac5a820fec30d34c9486a8ca86874bbca27df3 Mon Sep 17 00:00:00 2001 From: leo Date: Sun, 27 Feb 2022 14:10:00 +0100 Subject: [PATCH] opti$ --- .gitignore | 3 ++- CarController.py | 10 ++++++++-- main.py | 7 ++++++- mainLoop.py | 9 +++++++-- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 98ff494..451483e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ __pycache__/ main.build main.dist -main.onefile-build \ No newline at end of file +main.onefile-build +profile.txt diff --git a/CarController.py b/CarController.py index d95a8e8..82aa1cc 100644 --- a/CarController.py +++ b/CarController.py @@ -13,6 +13,8 @@ class carInfo(QWidget): self.ui.setupUi(self) self.maxV = 0 self.parent = parent + self.pointsCount = [0,0,0] + self.minX = 0 self.chart = self.ui.speedGraph.chart() #self.chart.setAnimationOptions(QChart.AllAnimations) @@ -33,9 +35,12 @@ class carInfo(QWidget): return t=params[1] val=params[2] - if(self.speedSeries[ind].count()>1 and self.speedSeries[ind].at(1).x() 200): self.speedSeries[ind].remove(0) + self.minX = max(self.minX,self.speedSeries[ind].at(0).x()) + self.pointsCount[ind] -= 1 self.speedSeries[ind].append(t,val) + self.pointsCount[ind] += 1 if self.speedSeries[ind].count()>2: i = self.speedSeries[ind].count()-1 @@ -47,9 +52,10 @@ class carInfo(QWidget): diff2 = diffR - diffL if diff2 == 0: self.speedSeries[ind].remove(i-1) + self.pointsCount[ind] -= 1 xAxis = self.chart.axes(Qt.Horizontal,self.speedSeries[ind])[0] - xAxis.setRange(max(t-500,0),t) + xAxis.setRange(self.minX,t) if val>self.maxV: self.maxV = val diff --git a/main.py b/main.py index fc7f737..d9b101a 100644 --- a/main.py +++ b/main.py @@ -54,6 +54,7 @@ class MainWindow(QMainWindow): self.fpsTimer = QElapsedTimer() self.fpsTimer.start() + self.fpsAverage = 0 def keyPressEvent(self, e): if e.key() == Qt.Key_Escape or e.key() == Qt.Key_Q: @@ -63,8 +64,12 @@ class MainWindow(QMainWindow): self.mainLoop.quickLoad() def updateFPS(self): + self.fpsAverage += 1 + if(self.fpsAverage != 32): + return + self.fpsAverage = 0 widget = self.findChild(QLabel,"mainFps") - t = self.fpsTimer.restart() + t = self.fpsTimer.restart()/32 if(t == 0): return widget.setText(f"fps : {1000/t:.1f}") diff --git a/mainLoop.py b/mainLoop.py index 7f66617..5d62914 100644 --- a/mainLoop.py +++ b/mainLoop.py @@ -31,6 +31,8 @@ class mainLoop(QObject): self.fpsTimer = QElapsedTimer() self.updateFPS.connect(self.parent.updatePhysicsFps) + + self.fpsAverage = 0 def threadSafe(func): def inner(*args, **kwargs): @@ -76,6 +78,9 @@ class mainLoop(QObject): self.controller.prepareRoute() def updateFps(self): - newFps = self.fpsTimer.restart() - self.updateFPS.emit(newFps) + self.fpsAverage += 1 + if(self.fpsAverage == 32): + newFps = self.fpsTimer.restart() + self.updateFPS.emit(newFps/32) + self.fpsAverage = 0