[Freeciv-Dev] (PR#3769) Unit movement buggy and slow
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
[ChrisK@xxxxxxxx - Sat Mar 22 21:32:06 2003]:
> CVS 22 MAR 2003 GTK 1.2
>
> Hello,
>
> some issues about unit movement on my 200 MHz box.
>
> In short: it's no fun anymore :-(
>
> Goto is significantly slower now (depending on route) and consumes
> much CPU.
Iso or non-iso view? Sounds like this was caused by the non-iso view
drawing unification - and can be fixed by further unification.
> Moving transporters (with units) in and out of cities is slow.
Is this a recent change?
> Transporters with units are, at beginning and end of turn, displayed as
> empty for a short moment.
Is this the result of the new flush code? The changes have not been
fully ported to all clients. Can you reproduce it with this patch?
jason
Index: client/gui-gtk/mapctrl.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/client/gui-gtk/mapctrl.c,v
retrieving revision 1.76
diff -u -r1.76 mapctrl.c
--- client/gui-gtk/mapctrl.c 2003/02/17 22:49:27 1.76
+++ client/gui-gtk/mapctrl.c 2003/03/23 18:26:47
@@ -227,7 +227,7 @@
struct map_position *cross_list=(struct map_position *)data;
while (cross_list->x >= 0) {
- refresh_tile_mapcanvas(cross_list->x, cross_list->y, TRUE);
+ refresh_tile_mapcanvas(cross_list->x, cross_list->y, FALSE);
cross_list++;
}
}
Index: client/gui-gtk/mapview.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/client/gui-gtk/mapview.c,v
retrieving revision 1.164
diff -u -r1.164 mapview.c
--- client/gui-gtk/mapview.c 2003/03/18 02:08:22 1.164
+++ client/gui-gtk/mapview.c 2003/03/23 18:26:47
@@ -114,9 +114,10 @@
else
punit0->hp--;
- refresh_tile_mapcanvas(punit0->x, punit0->y, TRUE);
- refresh_tile_mapcanvas(punit1->x, punit1->y, TRUE);
+ refresh_tile_mapcanvas(punit0->x, punit0->y, FALSE);
+ refresh_tile_mapcanvas(punit1->x, punit1->y, FALSE);
+ flush_dirty();
gdk_flush();
usleep_since_timer_start(anim_timer, 10000);
@@ -161,8 +162,8 @@
}
set_units_in_combat(NULL, NULL);
- refresh_tile_mapcanvas(punit0->x, punit0->y, TRUE);
- refresh_tile_mapcanvas(punit1->x, punit1->y, TRUE);
+ refresh_tile_mapcanvas(punit0->x, punit0->y, FALSE);
+ refresh_tile_mapcanvas(punit1->x, punit1->y, FALSE);
}
/**************************************************************************
|
|