Tengo un pentium IV a 2.8GH por lo que no deberia pasar, és más, la CPU nunca llega al 100% (alrededor del 70%).
Si no uso esta función y simplemente duplico la imagen girada en el .bmp la CPU no llega al 5%.
Si me podeis echar una mano os lo agradeceria

El codigo que uso és el siguiente:
- Código: Seleccionar todo
bool accio::PintaReverseV(SDL_Surface *imatge,SDL_Rect *Origen,SDL_Surface *p, SDL_Rect *Desti) {
//Creo esta imagen para no tener que girar toda la imagen .bmp donde estan todos los sprites
SDL_Surface *Temp = SDL_CreateRGBSurface(SDL_HWSURFACE, Origen->w, Origen->h, imatge->format->BitsPerPixel, imatge->format->Rmask, imatge->format->Gmask, imatge->format->Bmask, imatge->format->Amask);
if(!Temp)return false;
SDL_Rect dest;
dest.x = 0;
dest.y = 0;
SDL_BlitSurface(imatge, Origen, Temp, &dest);
SDL_Surface *Girada = rotozoomSurfaceXY(imatge, 1, -1, 1, 0);
SDL_BlitSurface(Girada, &dest, p, Desti);
SDL_FreeSurface(Girada);
SDL_FreeSurface(Temp);
return true;
}