Complete.Org: Mailing Lists: Archives: freeciv-dev: February 2003:
[Freeciv-Dev] (PR#2941) RFC: canvas_put_sprite
Home

[Freeciv-Dev] (PR#2941) RFC: canvas_put_sprite

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] (PR#2941) RFC: canvas_put_sprite
From: "Jason Short via RT" <rt@xxxxxxxxxxxxxx>
Date: Sun, 2 Feb 2003 23:37:54 -0800
Reply-to: rt@xxxxxxxxxxxxxx

[vasc@xxxxxxxxxxxxxx - Sat Feb  1 21:52:59 2003]:

> On Sat, 1 Feb 2003, esr@xxxxxxxxxxx via RT wrote:
> > Jason Short via RT <rt@xxxxxxxxxxxxxx>:
> 
> > Let's step back a moment and look at the systems engineering.
> >
> > Freeciv is not a real-time game, updates are relatively sparse in both
> > time and space.  Latency due to network turnaround will often dominate
> > draw time by an order of magnitude.  We have the luxury of engineering
> > for long-term maintainability rather than having to scqueeze every
> > cycle out of the hardware; I say we should use that.
> 
> Actually you are wrong. Freeciv is a twitch game. Try playing a
> multiplayer game on Pubserver and you will see what I mean when you get
> to combat.
> Players do not play in order; all players execute their turns at the same
> time and player actions are reflected immediatly.

Actually I think you are both right.  When playing a multi-player game
of freeciv, every fraction of a second counts.  But even so, the
majority of the wasted time for most users is spent in network latency.

This means is we can squeeze a few extra milliseconds out of the drawing
code with micro-optimizations there will be some gain.  If we can
squeeze a few extra hundredths-of-second out of the drawing code by
changing the design there will be a significant gain.  If we can squeeze
a few extra tenths-of-second out of the network code there will be a
bigger gain.

Note that it is generally network *latency* that is the problem, not
network *bandwidth*.  Decreasing the bandwidth usage will help some (in
a worst-case scenario, using full zlib on network packets can save 15
seconds on some operations!), but in most cases there is a delay that
cannot be avoided without changing the fundamental structure of the game.

Note also that this is highly dependent on the situation.  Someone
playing a single-player game on an older system will notice drawing
latency more than someone playing multiplayer on a new system over a modem.

jason



[Prev in Thread] Current Thread [Next in Thread]