> <snip> > I'm very encouraged to hear this as we are very, very interested in > SPICE as a WAN protocol. We have noticed that the end user experience > is almost as dependent upon latency as bandwidth so I was a little > concerned that you are sending pixmaps changes on a periodic basis. > Does that introduce any noticeable latency? > > I've been quite surprised at how much users are affected by latency I > would not have thought an issue. Thus, I would define noticeable as > somewhere between 50 and 100 ms. Thanks very much - John > Actually, there is a hard coded behavior in the Spice server that can make it function poorly with any kind of latency. That is, by default, it requires that the client supply an acknowledgment either every 20th or 40th packet. So if you do something that generates more than 40 display messages in a short period of time (which isn't that hard to do) you have to wait for a full round trip before proceeding on. The attached patch hacks its way around that issue by mangling the sizes up by a factor of 10. I have a todo on my list to ask smarter people here how better to address this issue. Cheers, Jeremy
diff --git a/server/red_worker.c b/server/red_worker.c index 9330fff..c766910 100644 --- a/server/red_worker.c +++ b/server/red_worker.c @@ -347,11 +347,11 @@ typedef struct LocalCursor { SpiceCursor red_cursor; } LocalCursor; -#define MAX_PIPE_SIZE 50 +#define MAX_PIPE_SIZE 500 #define RECIVE_BUF_SIZE 1024 -#define WIDE_CLIENT_ACK_WINDOW 40 -#define NARROW_CLIENT_ACK_WINDOW 20 +#define WIDE_CLIENT_ACK_WINDOW 400 +#define NARROW_CLIENT_ACK_WINDOW 200 #define BITS_CACHE_HASH_SHIFT 10 #define BITS_CACHE_HASH_SIZE (1 << BITS_CACHE_HASH_SHIFT)
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/spice-devel