changeset 154:ae6dff8ff88c

Cache loaded images
author Neil Muller <drnlmuller@gmail.com>
date Fri, 11 May 2012 20:32:50 +0200
parents a644f6b64a6d
children f4601492020b
files gamelib/data.py
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/gamelib/data.py	Fri May 11 20:27:37 2012 +0200
+++ b/gamelib/data.py	Fri May 11 20:32:50 2012 +0200
@@ -12,6 +12,7 @@
 
 data_py = os.path.abspath(os.path.dirname(__file__))
 data_dir = os.path.normpath(os.path.join(data_py, '..', 'data'))
+IMAGE_CACHE = {}
 
 
 def filepath(filename):
@@ -30,4 +31,9 @@
 
 
 def load_image(filename):
-    return image.load(filepath(filename))
+    if filename in IMAGE_CACHE:
+        return IMAGE_CACHE[filename]
+    else:
+        im = image.load(filepath(filename))
+        IMAGE_CACHE[filename] = im
+        return im