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!

Reply via email to