[haiku-development] Re: Reading the Mouse Cursor and Dirty Screen

  • From: "Alexander G. M. Smith" <agmsmith@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 29 Mar 2015 14:15:58 -0400 EDT

looncraz <looncraz@xxxxxxxxxxx> wrote on Sat, 28 Mar 2015 16:37:42 -0500:
> http://files.looncraz.net/BScreenStream.mkv
> Just 10MB, a quick video of it in action ;-)

Looks correct to me.  I see you used your exclude region feature to cut out
the test window itself, otherwise you'd see the recursive out to infinity
view of the whole screen (which happens if you run the VNC client on the
same machine as the server).

> You can set a frame rate limit, and it only captures when you Update().
> It captures only the changed areas of the screen, and also exposes the
> changed region for you.  [...]

In other words, it captures the current pixel data only when Update() is
called, but updates the dirty region continuously between Update() calls?

> The frame latency is about 1ms on my system under emulation, updates are
> batched in the server and to the application, and update changes are
> double-buffered on the client side.  It tries to synchronize with
> app_server updates when you call Update(), so you can freely just spin
> Update() in a tight loop and not use much CPU.

Sounds pretty good!  The CPU and memory usage were nice and low in your
demo video.  How about on slower machines, where the memory bus is only a
couple of hundred megabytes per second?  Guess I should fire up my Pentium
III and see how well it works, once I update VNCServer to use your new
update system and build Haiku from your branch.

- Alex

Other related posts: