Reduce latency on level change by loading all backgrounds at start
This commit is contained in:
parent
bac7f945ac
commit
9f2b687a8a
@ -846,9 +846,10 @@ class Frames(QtWidgets.QWidget):
|
||||
self.matrix.drop_signal.connect(self.stats.update_drop_score)
|
||||
self.matrix.lock_signal.connect(self.stats.update_score)
|
||||
|
||||
self.set_background(
|
||||
self.bg_image = QtGui.QImage(
|
||||
os.path.join(consts.BG_IMAGE_DIR, consts.START_BG_IMAGE_NAME)
|
||||
)
|
||||
self.resize_bg_image()
|
||||
|
||||
self.apply_settings()
|
||||
|
||||
@ -895,15 +896,11 @@ class Frames(QtWidgets.QWidget):
|
||||
self.resize_bg_image()
|
||||
|
||||
def reset_backgrounds(self):
|
||||
backgrounds_paths = (
|
||||
os.path.join(consts.BG_IMAGE_DIR, entry.name)
|
||||
backgrounds = tuple(
|
||||
QtGui.QImage((os.path.join(consts.BG_IMAGE_DIR, entry.name)))
|
||||
for entry in os.scandir(consts.BG_IMAGE_DIR)
|
||||
)
|
||||
self.backgrounds_cycle = itertools.cycle(backgrounds_paths)
|
||||
|
||||
def set_background(self, path):
|
||||
self.bg_image = QtGui.QImage(path)
|
||||
self.resize_bg_image()
|
||||
self.backgrounds_cycle = itertools.cycle(backgrounds)
|
||||
|
||||
def resize_bg_image(self):
|
||||
self.resized_bg_image = QtGui.QPixmap.fromImage(self.bg_image)
|
||||
@ -965,7 +962,8 @@ class Frames(QtWidgets.QWidget):
|
||||
self.new_piece()
|
||||
|
||||
def new_level(self):
|
||||
self.set_background(next(self.backgrounds_cycle))
|
||||
self.bg_image = QtGui.QImage(next(self.backgrounds_cycle))
|
||||
self.resize_bg_image()
|
||||
level = self.stats.new_level()
|
||||
self.matrix.new_level(level)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user