----- Robert Clausecker <fuz...@gmail.com> a écrit :
> I just built the latest trunk and compiled it. I was very impressed
> about the enhanced performance Wormux has now. In 0.9.2 stable release,
> the performance was about 35-40 FPS, and now it's 45-55 FPS (I manually
> tweaked src/options_menu.cpp in order to allow such high framerates)!!!

It's hard to actually benchmark the changes, but I guess those are the 
improvements:
- more inlining (physical object accessors, some surface stuff)
- trying to generate RGBA surfaces matching the display format

I don't know of many additional algorithmic optimizations left but they are 
probably related to per-pixel alpha blending, which is very costly:
- having a non-alpha tile items for parts of the ground with 
0<alpha<transparent_threshold could be useful
- making sure items who don't need alpha blending have colorkey instead (saves 
memory, too)

This reminds me that the explosions don't use alpha blending to perform 
anti-aliasing.

The remaining things might be to tweak the Double class (gcc is particularly 
awful at handling 64bits types on 32bits archs).
This is probably impossible though because (decimal part being 16 bits):
- overflows are more common (dynamics of 16 bits vs 48bits)
- accuracy may suffer (having decimal part less than 16 bits to increase 
dynamics)

> I hope, these imporvements will be available
> for public soon.

I'm afraid they'll have to be thoroughly tested, as they affect game play, and 
the number of changes increase the risk of a bug introduced.

Regards,
Christophe


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

Répondre à