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