The only way I know to get picture-like graphics in there is by sampling coloured polygons. I could halve the polys by drawing squares rather than triangles, and perhaps merge adjacent same-coloured polys.

Anyhow, whenever faced with performance issues, it's usually more cost effective to buy a faster machine, rather than spend time trying to speed up the code. Having built an AMD64 machine earlier this year, I'm not planning on writing efficient code for some time yet - S.