Эх сурвалжийг харах

10 FPS
We will save CPU. (In my computer around %10 less CPU is used now)
Some adjustments so that the 10 FPS are not noticeable

Ander 11 жил өмнө
parent
commit
6864d57742

+ 11 - 6
mopidy_touchscreen/dynamic_background.py

@@ -1,5 +1,7 @@
 import random
 
+change_speed = 2
+
 
 class DynamicBackground():
     def __init__(self):
@@ -9,12 +11,15 @@ class DynamicBackground():
     def draw_background(self, surface):
         same = True
         for x in range(0, 3):
-            if self.current[x] > self.target[x]:
-                self.current[x] -= 1
-            elif self.current[x] < self.target[x]:
-                self.current[x] += 1
-            if self.current != self.target:
-                same = False
+            if abs(self.current[x]-self.target[x]) < change_speed:
+                self.current[x] = self.target[x]
+            else:
+                if self.current[x] > self.target[x]:
+                    self.current[x] -= change_speed
+                elif self.current[x] < self.target[x]:
+                    self.current[x] += change_speed
+                if self.current != self.target:
+                    same = False
         #if same:
         #    self.target = get_valid_color()
         surface.fill(self.current)

+ 4 - 1
mopidy_touchscreen/screen_objects.py

@@ -214,6 +214,9 @@ class BaseItem():
 
 
 class TextItem(BaseItem):
+
+    scroll_speed = 2
+
     def __init__(self, font, text, pos, size, center=False):
         self.font = font
         self.text = text
@@ -253,7 +256,7 @@ class TextItem(BaseItem):
             if self.step > self.box.get_rect().width:
                 self.step = -self.size[0]
             else:
-                self.step = self.step + 1
+                self.step = self.step + TextItem.scroll_speed
             return True
         else:
             return BaseItem.update(self)

+ 1 - 1
mopidy_touchscreen/touch_screen.py

@@ -62,7 +62,7 @@ class TouchScreen(pykka.ThreadingActor, core.CoreListener):
     def start_thread(self):
         clock = pygame.time.Clock()
         while self.running:
-            clock.tick(8)
+            clock.tick(10)
             self.screen.blit(self.screen_manager.update(), (0, 0))
             pygame.display.flip()
             for event in pygame.event.get():