qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] Reducing X communication bandwidth, take 2


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] Reducing X communication bandwidth, take 2
Date: Fri, 16 Mar 2007 16:09:14 -0500
User-agent: Thunderbird 1.5.0.10 (X11/20070306)

Julian Seward wrote:
On Friday 16 March 2007 18:40, Anthony Liguori wrote:
Hi Julian,

Julian Seward wrote:
Here is a somewhat revised version of a patch I first made nearly
three years ago.  The original thread is

http://lists.gnu.org/archive/html/qemu-devel/2004-07/msg00263.html

It still uses a shadow frame buffer.  Fabrice mentioned this is not
necessary
I thought about this a little and here's what I came up with.

I think we could change vga_draw_line* so that as part of the drawing
process, it compared the newly generated pixel with the previous pixel
value and returned back the min, max x-coordinate that changed.

Since we tend to only extend the vertical dirty range by a couple
pixels, this should be a relatively cheap way of reducing the size of
the update region.

Sounds plausible - having said that, I have no familiarity with the VGA
code.  Also sounds like a cleaner solution than mine.

Is there something which guarantees that the vertical dirty range only
overshoots by some small number of pixels?

Even at a relatively low resolution (640 x 480 @ 16 bit), a page will span only three rows so one dirty page cannot dirty more than 5 vertical pixels.

  (thinking more about it ..
it doesn't matter - finding min/max that changed for each line will also
make it possible to identify the vertical limits of the change).

This is also true.

Will this work also for the CL542x adaptor?  (Does that fall in the category
of vga?) My current hack works for with/without -std-vga and I think that's because it lives "underneath" both, in the connection to SDL.

Each adapter will have to do it's own minimization but that's sort of the write thing anyway IMHO. How granular each update is really only depends on the adapter. For instance, the VMware adapter really shouldn't need to do any minimization at all.

Regards,

Anthony Liguori

J






reply via email to

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