This commit is contained in:
leo 2022-02-27 14:10:00 +01:00
parent a624ba4b17
commit b5ac5a820f
Signed by: leo
GPG Key ID: 0DD993BFB2B307DB
4 changed files with 23 additions and 6 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ __pycache__/
main.build main.build
main.dist main.dist
main.onefile-build main.onefile-build
profile.txt

View File

@ -13,6 +13,8 @@ class carInfo(QWidget):
self.ui.setupUi(self) self.ui.setupUi(self)
self.maxV = 0 self.maxV = 0
self.parent = parent self.parent = parent
self.pointsCount = [0,0,0]
self.minX = 0
self.chart = self.ui.speedGraph.chart() self.chart = self.ui.speedGraph.chart()
#self.chart.setAnimationOptions(QChart.AllAnimations) #self.chart.setAnimationOptions(QChart.AllAnimations)
@ -33,9 +35,12 @@ class carInfo(QWidget):
return return
t=params[1] t=params[1]
val=params[2] val=params[2]
if(self.speedSeries[ind].count()>1 and self.speedSeries[ind].at(1).x()<t-500): if(self.pointsCount[ind] > 200):
self.speedSeries[ind].remove(0) 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.speedSeries[ind].append(t,val)
self.pointsCount[ind] += 1
if self.speedSeries[ind].count()>2: if self.speedSeries[ind].count()>2:
i = self.speedSeries[ind].count()-1 i = self.speedSeries[ind].count()-1
@ -47,9 +52,10 @@ class carInfo(QWidget):
diff2 = diffR - diffL diff2 = diffR - diffL
if diff2 == 0: if diff2 == 0:
self.speedSeries[ind].remove(i-1) self.speedSeries[ind].remove(i-1)
self.pointsCount[ind] -= 1
xAxis = self.chart.axes(Qt.Horizontal,self.speedSeries[ind])[0] 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: if val>self.maxV:
self.maxV = val self.maxV = val

View File

@ -54,6 +54,7 @@ class MainWindow(QMainWindow):
self.fpsTimer = QElapsedTimer() self.fpsTimer = QElapsedTimer()
self.fpsTimer.start() self.fpsTimer.start()
self.fpsAverage = 0
def keyPressEvent(self, e): def keyPressEvent(self, e):
if e.key() == Qt.Key_Escape or e.key() == Qt.Key_Q: if e.key() == Qt.Key_Escape or e.key() == Qt.Key_Q:
@ -63,8 +64,12 @@ class MainWindow(QMainWindow):
self.mainLoop.quickLoad() self.mainLoop.quickLoad()
def updateFPS(self): def updateFPS(self):
self.fpsAverage += 1
if(self.fpsAverage != 32):
return
self.fpsAverage = 0
widget = self.findChild(QLabel,"mainFps") widget = self.findChild(QLabel,"mainFps")
t = self.fpsTimer.restart() t = self.fpsTimer.restart()/32
if(t == 0): if(t == 0):
return return
widget.setText(f"fps : {1000/t:.1f}") widget.setText(f"fps : {1000/t:.1f}")

View File

@ -32,6 +32,8 @@ class mainLoop(QObject):
self.fpsTimer = QElapsedTimer() self.fpsTimer = QElapsedTimer()
self.updateFPS.connect(self.parent.updatePhysicsFps) self.updateFPS.connect(self.parent.updatePhysicsFps)
self.fpsAverage = 0
def threadSafe(func): def threadSafe(func):
def inner(*args, **kwargs): def inner(*args, **kwargs):
args[0].mutex.lock() args[0].mutex.lock()
@ -76,6 +78,9 @@ class mainLoop(QObject):
self.controller.prepareRoute() self.controller.prepareRoute()
def updateFps(self): def updateFps(self):
newFps = self.fpsTimer.restart() self.fpsAverage += 1
self.updateFPS.emit(newFps) if(self.fpsAverage == 32):
newFps = self.fpsTimer.restart()
self.updateFPS.emit(newFps/32)
self.fpsAverage = 0