[...]
Anyway, QEMU from cvs is unusable like this, at least when
running WinXP or Win2K. The SDL layer (qemu/sdl.c) blasts
huge numbers of pixels across the network in response to even
the simplest graphical operations. Notably, moving the mouse
pointer is appalling, with an update rate of about twice per
second, which is hopeless.
The attached patch against sdl.c fixes this. It keeps a shadow
copy of video memory. When a request arrives at sdl_update()
to redraw an area, the area is compared against the shadow copy,
and only the parts that have really changed are passed to
SDL_UpdateRect(). The comparison is done at a granularity of
32x32 chunks of pixels.
[...]