----- Original Message ----- From: "Ronald Lamprecht"
<address@hidden>
To: "Pipeline" <address@hidden>; <address@hidden>
Sent: Saturday, February 23, 2008 12:40 PM
Subject: Re: [Enigma-devel] Maemo Port for Nokia Internet Tablets -
Performance
Patch r1046 has just been a preliminary experiment to check the
influence. I mailed yesterday the draft concept of a complete laser
light reengineering. It mainly addresses the large number of
inconsistencies in the current gaming logic concerning the laser light
(see bug reports #11112, #9475,...). But of course it addresses the
inefficiency of the laser beam drawing, too. You are right in your
assumption that the current implementation redraws all grids with a
laser beam on it on every frame with single change of laser light
anywhere. I plan to redraw just those grids where the light did change.
This should speed up the redraw on "Magic Triangle" by another factor of
3 - 4.
The r1046 patch improved performance in this level at least 300% so,
yes even as a preliminary experiment, your algorithm "magic" is much
appreciated :) There is a gliimpse of future playability... also on
every cycle which the block makes, when the lasers are triggered off,
the fps rises to 60fps for that brief second and then back down to
3fps or so.
While I look forward to seeing you complete implementation, I was
referring to animation of the laser stones themselves
(st-laser-{n,e,s,w})... not the beams or calculations of any objects
in their path. The st-laser stone on which the beam 'begins' has its
own (sprite?) animation which updates whenever the laser is on. This
level (Magic Triangle) has around 23 st-laser stones being animated on
every (paint/refresh). Completely disabling this 'pulsing' animation
(as a test) would have no impact on the simulation other than for
artistic purposes. Perhaps i will just try looking a little further
into the source to find this animation and test this theory. If
anyone knows where this is in the code, i'd appreciate a short-cut :)