Matthieu Fertré wrote:

Jean-Christophe wrote:

I think that SDL_gfx is a temporary solution as it allocate/free a new surface for each blit: 1 surface allocation (temporary surface of which we can't know the size du to scaling)
1 special blit (filling the temporary surface computing scale, rotation)
1 a normal blit alpha/colorkey  (temporary to destination surface)
1 surface free (the temporary surface that is not usefull any more)

Doing it ourself, we can avoid allocation/free of the temporary surface and combine the 2 blits in only 1.


Well, ok, but are we able to do ? and to do it portable ?

Yes, sure (this is not so hard ;) ) but we don't have to focus on it by now.

But for now, that seems to do the job and I don't think the bottleneck is coming from the rotozoomXY function.


Sure, because we already have it without calling any rotozoomXY function...


A propos, When profiling wormux, have anyone managing to see the SDL functiuns calls in the profiling graph ? I think I have forgotten flags or something else for the libSDL compilation: I am able to see the time spended in the wormux functions but none of SDL_Blitsurface(), SDL_Flip(),... Before starting the ./configure script in SDL, I have exported CFLAGS and CXXFLAGS with "-g -pg" but it don't seems to be sufficient, any ideas ?


a+
Jean-christophe

--
Jean-Christophe Duberga - http://jeanchristophe.duber.free.fr
webmaster du site MNEA  - http://www.mnea.fr


Répondre à