# HG changeset patch # User Emmanuel Gil Peyrot # Date 1376224252 -7200 # Node ID 43a8fed9a8d85465eb8d59745ebb1c4a1d335164 # Parent d778db08190fb5692f3252e3b79e376c33b82d64 Make only one call to render_elements during interface rendering. diff --git a/pytouhou/ui/gamerunner.pyx b/pytouhou/ui/gamerunner.pyx --- a/pytouhou/ui/gamerunner.pyx +++ b/pytouhou/ui/gamerunner.pyx @@ -177,6 +177,7 @@ class GameRunner(GameRenderer): def render_interface(self): + elements = [] interface = self.game.interface interface.labels['framerate'].set_text('%.2ffps' % self.window.clock.get_fps()) @@ -194,17 +195,18 @@ class GameRunner(GameRenderer): if items: # Redraw all the interface - self.render_elements(items) + elements.extend(items) else: # Redraw only changed labels labels = [label for label in labels if label.changed] - self.render_elements(interface.level_start) + elements.extend(interface.level_start) if self.game.boss: - self.render_elements(interface.boss_items) + elements.extend(interface.boss_items) - self.render_elements(labels) + elements.extend(labels) + self.render_elements(elements) for label in labels: label.changed = False