On Tue, 24 Sep 2013 13:09:46 +0200
Christian Steinle <christian.stei...@unicon-software.com> wrote:

> Hi Pierre,
> as I understand correct, the SetDesktopSize functionality is located 
> between the remote and the local framebuffer content. This connection I 
> have not touched, because this is not possible in my opinion due to 
> direct RW framebuffer access for partial rectangular framebuffer updates 
> and thus damage regions. So I have simply implemented a scaling factor 
> for drawing the local framebuffer into the scaled viewport with respect 
> to the scaled damage regions. So the implementation considers just three 
> different points:
>   1) Get the viewport size independent of the framebuffer size [EASY]

This is the difficult part. :)

If you resize the viewport right now, the client will send a
SetDesktopSize to make the server end track the client's resolution.
There needs to be a sensible user interface for these two conflicting
methods of resolving a different local and remote size.

>   3) Implement the scaled drawing: (Win32: StretchBlt(...) instead of 
> BitBlt(...) [EASY] / X11: Use nearestNeighbour algorithm and separate 
> rectangular XImage for update region [EASY and FAST but bad quality] / 

Might want to consider using OpenGL for scaling. Or at least XRender on

> So I will try to get some patches on that topic only in the next future 
> and send it to you. Maybe you can have a look at it to implement an 
> improved version into the repository code?

Sure. But the crucial issue is the first one IMO; how to present this
in a sensible manner to the user.

Pierre Ossman           Software Development
Cendio AB               http://cendio.com
Teknikringen 8          http://twitter.com/ThinLinc
583 30 Linköping        http://facebook.com/ThinLinc
Phone: +46-13-214600    http://plus.google.com/112509906846170010689

A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?

Attachment: signature.asc
Description: PGP signature

October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
Tigervnc-devel mailing list

Reply via email to