clintbellanger/flare-engine — pull request #417 by stefanbeller (2013-03-09 14:53:46+00:00)
Title: Optimize isometric rendering.

Closes #326.

The benchmark scenario was using flare-game with commit
51af6ab3f1feb897172398f232b2256f5cb70f58

The hero was standing at the default starting point
in the frontier outpost.

The code was compiled with
cmake . && make
so no special care on compiler optimization (such as O3, lto)
(gcc version 4.7.2)

I run the benchmark using
perf stat -p $(pidof flare) sleep 10

Using an Intel i7-2760 cpu:
without this patch: 0.389 CPUs utilized
with this patch: 0.356 CPUs utilized
resulting in 0.033 CPUs less

Using an Intel Atom N270
without this patch: 0.582 CPUs utilized
with this patch: 0.565 CPUs utilized
resulting in 0.017 CPUs less

On the Intel Atom N270 map_to_screen was using 17.14% of the time
before this patch, now it is only using 5.42% of the time.
(The time was only measured executing the flare binary itself,
libs excluded)