If your engine have to use rotating, alphablending or even nicer effects i'd switch to OpenGL or DirectX. rotozoomsurface is very slow like mentioned earlier. As for optimizing particles you haven't given any code samples or screenshot/video of what they look like.