qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH v2 2/2] vnc: threaded VNC server


From: Corentin Chary
Subject: [Qemu-devel] Re: [PATCH v2 2/2] vnc: threaded VNC server
Date: Fri, 4 Jun 2010 15:53:47 +0200

On Fri, Jun 4, 2010 at 3:25 PM, Alexander Graf <address@hidden> wrote:
>
> On 04.06.2010, at 15:20, Corentin Chary wrote:
>
>> Implement a threaded VNC server using the producer-consumer model.
>> The main thread will push encoding jobs (a list a rectangles to update)
>> in a queue, and the VNC worker thread will consume that queue and send
>> framebuffer updates to the output buffer.
>
> Hrm, does it merge the queue? So imagine the following gets put in the queue
>
> [0,0] - [100,100]
> [100,0] - [200,10]
> [0,0] - [200,10]
>
> Would that code try and merge those three queue entries? Because by adding 
> the queue, you basically get rid of the automatic merging we get from the 
> lazy dirty bitmap fetching.

I wanted to add that later.

> Before we were processing each entry and checked the bitmap again, seeing a 
> merged bitmap of previous actions. With this I assume you push to-be-updated 
> regions into the queue and mark them as processed before they are?

I mark them as processed as soon as they are put into the queue.
refresh() is also delayed while encoding job are processing (check the
trylock part) to avoid unecessary dirty bitmap updates and locks.

-- 
Corentin Chary
http://xf.iksaif.net



reply via email to

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