[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [glob2-devel] perfs
From: |
Luc-Olivier de Charrière |
Subject: |
Re: [glob2-devel] perfs |
Date: |
Mon, 20 Oct 2003 19:28:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20031020 |
Martin S Nyffenegger wrote:
3) oubliez désormais de compiler glob2 sans optimisations.
avec ça prend environs 4 fois plus long ;-)
4 fois?
Voilà le profiling d'une partie entière avec 3 équipes sur une 128x128.
On voit clairement que les gradients ne sont pas un problème.
Idéalement, il faudrait optimiser la compilation de Map.cpp seulement,
pour avoir un temps de compilation rapide et d'execution rapide.
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls s/call s/call name
72.90 204.54 204.54 23419190 0.00 0.00
SDLDrawableSurface::drawFilledRect(int, int, int, int, unsigned char,
unsigned char, unsigned char, unsigned char)
11.86 237.81 33.27 27784259 0.00 0.00
SDLSprite::draw(SDL_Surface*, SDL_Rect const*, int, int, int)
3.93 248.83 11.02 513939666 0.00 0.00
SDLDrawableSurface::drawPixel(int, int, unsigned char, unsigned char,
unsigned char, unsigned char)
3.50 258.65 9.82 55089 0.00 0.00 Game::drawMap(int,
int, int, int, int, int, int, bool, bool, bool, bool)
1.49 262.82 4.17 116720 0.00 0.00
SDLDrawableSurface::drawCircle(int, int, int, unsigned char, unsigned
char, unsigned char, unsigned char)
0.81 265.09 2.27 32482 0.00 0.00
Map::updateLocalGradient(Building*, bool)
0.81 267.35 2.26 1016222 0.00 0.00
SDLSprite::Palette::setColor(unsigned char, unsigned char, unsigned char)
0.70 269.31 1.96 14777600 0.00 0.00
GAG::HSVtoRGB(float*, float*, float*, float, float, float)
0.50 270.71 1.40 14893050 0.00 0.00
GAG::RGBtoHSV(float, float, float, float*, float*, float*)
0.49 272.09 1.38 56137 0.00 0.00
Map::updateGlobalGradient(unsigned char*)
0.42 273.28 1.19 172416 0.00 0.00
SDLDrawableSurface::drawLine(int, int, int, int, unsigned char, unsigned
char, unsigned char, unsigned char)
4) qui sait utiliser altivec et mmx2 ? ou qui connait une bonne doc ?
Pour Altivec, j'ai trouvé la doc. Le problème est qu'il faut vraiment
lui écrire du code spécifique. Le plus simple est que tu fasse déjà
tes algos comme tu le pense.. Une fois les algos écrits et qu'ils
marchent (donc glob2 est testé et ne fais plus vraiment d'erreurs de
comportement), tu m'indique où sont les parties de code qui ont le
plus la possibilité de bénéficier d'altivec (genre ta déscente de
gradiant serai super optimisable je pense)
Après reflexion, je ne trouve pas comment on peut optimiser le code avec
des instructions vectorielles...pour l'instant.
- [glob2-devel] perfs, Martin Voelkle, 2003/10/19
- Re: [glob2-devel] perfs, Luc-Olivier de Charrière, 2003/10/19
- Re: [glob2-devel] perfs, Martin S Nyffenegger, 2003/10/20
- Re: [glob2-devel] perfs,
Luc-Olivier de Charrière <=
- Re: [glob2-devel] perfs, Martin S Nyffenegger, 2003/10/20
- Re: [glob2-devel] perfs, Martin S Nyffenegger, 2003/10/20
- Re: [glob2-devel] perfs, Luc-Olivier de Charrière, 2003/10/20
- Re: [glob2-devel] perfs, Martin S Nyffenegger, 2003/10/20
- Re: [glob2-devel] perfs, Luc-Olivier de Charrière, 2003/10/20
- Re: [glob2-devel] perfs, Stephane Magnenat, 2003/10/20
- Re: [glob2-devel] perfs, Luc-Olivier de Charrière, 2003/10/20
- Re: [glob2-devel] perfs, Stephane Magnenat, 2003/10/20
- Re: [glob2-devel] perfs, Luc-Olivier de Charrière, 2003/10/21
- Re: [glob2-devel] perfs, Stephane Magnenat, 2003/10/24