Re: Automatic scroll detection and optimization of graphical updates

2024-06-11 Thread Ivanmarcus

That's a lot of work Mike, good show!

On 12/06/24 10:41, Michael Jumper wrote:

Hello all,

I've completed a large body of initial work in implementing a new 
"guac_display" API for libguac which is capable of automatically 
recognizing and optimizing scrolls/copies in real time:


https://github.com/apache/guacamole-server/pull/525

There's definitely more to be done here, particularly since the various 
protocols have not yet been migrated to this, but the VNC support has at 
least a partial migration and the changes could use some additional eyes 
and feedback.


There are demo videos in the above PR that show how this works in practice:

https://github.com/apache/guacamole-server/pull/525#issuecomment-2161613877

This _should_:

* Improve the responsiveness and efficiency of Guacamole in general.
* Improve the responsiveness of Guacamole over lower-bandwidth links.
* Allow protocols that do not expose information about scrolling (or do 
not do so consistently) to still be represented efficiently.

* Make implementation of additional protocols easier.
* Provide us with better metrics so that any remaining bottlenecks 
affecting responsiveness can be more easily isolated and improved.


- Mike


Automatic scroll detection and optimization of graphical updates

2024-06-11 Thread Michael Jumper

Hello all,

I've completed a large body of initial work in implementing a new 
"guac_display" API for libguac which is capable of automatically 
recognizing and optimizing scrolls/copies in real time:


https://github.com/apache/guacamole-server/pull/525

There's definitely more to be done here, particularly since the various 
protocols have not yet been migrated to this, but the VNC support has at 
least a partial migration and the changes could use some additional eyes 
and feedback.


There are demo videos in the above PR that show how this works in practice:

https://github.com/apache/guacamole-server/pull/525#issuecomment-2161613877

This _should_:

* Improve the responsiveness and efficiency of Guacamole in general.
* Improve the responsiveness of Guacamole over lower-bandwidth links.
* Allow protocols that do not expose information about scrolling (or do 
not do so consistently) to still be represented efficiently.

* Make implementation of additional protocols easier.
* Provide us with better metrics so that any remaining bottlenecks 
affecting responsiveness can be more easily isolated and improved.


- Mike