I've made a tiling engine where tiles are stored as list of subsurfaces from a texture surface, and the game map is stored as a list of tile indices. The problem is that I'm ending up with some slowdown even at low resolutions. I was wondering if anyone's run into this before and could offer suggestions. The code I have in the map draw() function is:
for i in self.tiledata: # i is an integer, tiledata is a standard list right now, will convert to an array for speed as the next step surf = dat[i] sys.screen.blit(surf, (i, i)) # I would use real coordinates, the i, i is just for speed testing In particular: (a.) is there a way to speed up surface.blit()? I've already used surface.convert(), and from some of the tutorials hardware surfaces sound problematic. (b.) Is there a way to call the blit function from inlined C code? I've seen the SciPy.blitz examples showing a massive speedup on similar loops by doing this. Thanks in advance!