This is the mail archive of the xconq7@sources.redhat.com mailing list for the Xconq project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: exploring_worth sub-module functions (Was Re: Side Mask)


>> each unit blast has to stay on the screen for a fraction of a second in
>> order to be noticed by the human eye. So xconq wastes a lot of cycles
>> looping in the animation code.
>
>Why not call usleep() ?  It is in the Single UNIX Specification so it
>should be available on any Unix.  Dunno about Mac and Windows but we
>could always fall back to the looping code if there are systems
>without usleep.

You are right in assuming that it wouldn't work on all platforms. But even
if it did, to what purpose? The idea is presumably to let the kernel do
something useful while the animation is running. But since the kernel
handles one unit at a time, there is little it can do until the interface
is ready to proceed to the next unit.

One thing that could work is to spinn off a separate thread for each
animation, so that they can overlap in time. This would certainly speed up
the graphics, but I suspect it would be even more confusing to the human
eye than an animation speedup. You would see a hailstorm of unit hit
splashes all over the screen instead of series of very rapid flashes one
after the other.

I think that if we want to speed up the interface further, we have to think
about how to make it easier for the human eye and mind to grasp what is
going on. One possible improvement would be to briefly highlight the
attacking unit so that you get a sense of where the attack is coming from
(like you do with fire). The splash animation could be improved. Little
things like that could make it possible to run the interface at a higher
speed while still being intelligible to the human player.

Hans


Hans Ronne

hronne@pp.sbbs.se



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]