Le 15.06.2010 11:56, Kurosu a écrit :
> ----- Matthieu Fertré <matthieu.fer...@free.fr> a écrit :
>   
>> Maybe with some optimizations we can have about 20/25 fps.
>>     
> btw, here's the oprofile report for a x86 target (oprofile unavailable on a 
> real arm target):
> 2578     11.3189  wormux                   Surface::MergeSurface(Surface&, 
> Vector2<int> const&)
> 2057      9.0314  wormux                   PhysicalObj::GetYDouble() const
> 1782      7.8240  wormux                   PhysicalObj::GetXDouble() const
> 1153      5.0623  wormux                   PhysicalObj::GetX() const
> 1107      4.8604  wormux                   PhysicalObj::GetY() const
> 1035      4.5443  wormux                   Member::ApplyMovement(member_mvt 
> const&, std::vector<c_junction*, std::allocator<c_junction*> >&)
> 915       4.0174  wormux                   GetObjectAt(Vector2<int> const&)
> 867       3.8066  wormux                   Tile::GetAlpha(Vector2<int> 
> const&) const
> 821       3.6047  wormux                   
> PhysicalObj::CollidedObjectXY(Vector2<int> const&) const
> 751       3.2973  wormux                   fixedpoint::fixsqrt16(long long)
>
> Another run after changing PIXEL_PER_METER to int32_t:
> 7906     23.1400  wormux                   Surface::MergeSurface(Surface&, 
> Vector2<int> const&)
> 2786      8.1543  wormux                   PhysicalObj::GetYDouble() const
> 2255      6.6001  wormux                   PhysicalObj::GetXDouble() const
> 1436      4.2030  wormux                   PhysicalObj::GetX() const
> 1390      4.0684  wormux                   PhysicalObj::GetY() const
> 1168      3.4186  wormux                   Member::ApplyMovement(member_mvt 
> const&, std::vector<c_junction*, std::allocator<c_junction*> >&)
> 1131      3.3103  wormux                   Tile::GetAlpha(Vector2<int> 
> const&) const
> 1092      3.1962  wormux                   
> PhysicalObj::CollidedObjectXY(Vector2<int> const&) const
> 1065      3.1171  wormux                   GetObjectAt(Vector2<int> const&)
> 916       2.6810  wormux                   fixedpoint::fixsqrt16(long long)
>
> It doesn't seem the special alpha case occurs that often (very obvious 
> optimization: use only integer math scaled by say 1<<8 or 1<<16). I can't get 
> proper annotation for it, so I don't know exactly how this time is wasted. It 
> doesn't seem to be the lock.
>   

Could you detail what are the numbers in the columns 1 and 2 ?

I've heard several times that Member::ApplyMovement() was very costly,
we probably must improve it.

About other functions, without the meaning of the columns, ...

Regards,

Matt (gentildemon)


> Best regards,
> Christophe
>
> _______________________________________________
> Wormux-dev mailing list
> Wormux-dev@gna.org
> https://mail.gna.org/listinfo/wormux-dev
>   

_______________________________________________
Wormux-dev mailing list
Wormux-dev@gna.org
https://mail.gna.org/listinfo/wormux-dev

Répondre à