so you know how I'd been working for literally months trying to come up with a way to draw the map editor in a fast working manner, getting frustrated because the drawing library in wx simply wasn't fast enough? and then about four months ago I said that I had managed to get a library called pyglet working in wxpython and it was finally fast enough to be usable? well in the quest for libraries that would be fast enough I came across rabbyt long before I found pyglet. in fact it was rabbyt that lead me to pyglet. alas I could never get rabbyt working under wxpython. then three days ago I took another look and realised that the same method I had used to make pyglet work would make rabbyt work too!
rabbyt is a c-extension for python that uses opengl to draw sprites, and it's FAST. seriously I had 10,000 sprites flying around the screen changing size, color and rotation bouncing off the walls of the window and it was running at a smooth 32-31 fps INSIDE wxpython and it was only useing 26-27% cpu (keep in mind that this is in python) that's dam impressive
it was an incredibly simple edit to get my current tile map to render in rabbyt I only had to change 5 lines. and it too ran at 30 FPS at 8-12% cpu usage where as before using the pyglet sprite version it was using 60% to run at that FPS
Now, as this is an editor I don;t need to run a fps, because the only time I redraw the screen is when something changes.
also, another benefit to rabbty is that I suddenly have the ability to NOT draw all the sprites in the tile map just the ones on screen. which means I'll be drawing 10,000 sprites max instead of the 120,000 that would be in a 3 layer 200x200 map.
now, because rabbyt is a compiled extension this will delay our MAC version as a mac version of the current library hans't been compiled yet and we'll have to get a mac and do it ourselves.