You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@guacamole.apache.org by "mike-jumper (via GitHub)" <gi...@apache.org> on 2025/01/13 23:03:29 UTC

[PR] GUACAMOLE-377: Revert to synchronous flush (asynchronous is slower). [guacamole-client]

mike-jumper opened a new pull request, #1045:
URL: https://github.com/apache/guacamole-client/pull/1045

   This partly reverts the changes introduced by d6db8fac7ea01d8a6a4a8c2b8bc84b66be4fb471 (#681), restoring the previous client-side frame handling.
   
   The new asynchronous flush mechanism leveraging `requestAnimationFrame()` does not perform as well as the old synchronous flush. This appears to be due to delays in when the browser actually allows the frame to proceed, which cause the client to lag behind.
   
   A future change that could improve things further might be to process graphical changes in a WebWorker when available.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GUACAMOLE-377: Address performance regression related to migration to guac_display. [guacamole-client]

Posted by "DanielMcAssey (via GitHub)" <gi...@apache.org>.
DanielMcAssey commented on PR #1045:
URL: https://github.com/apache/guacamole-client/pull/1045#issuecomment-2637493034

   Additionally, another future improvement is use of [OffscreenCanvas](https://developer.mozilla.org/en-US/docs/Web/API/OffscreenCanvas) with a Worker


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GUACAMOLE-377: Address performance regression related to migration to guac_display. [guacamole-client]

Posted by "necouchman (via GitHub)" <gi...@apache.org>.
necouchman commented on code in PR #1045:
URL: https://github.com/apache/guacamole-client/pull/1045#discussion_r1943322955


##########
guacamole-common-js/src/main/webapp/modules/InputStream.js:
##########
@@ -76,4 +76,66 @@ Guacamole.InputStream = function(client, index) {
         client.sendAck(guac_stream.index, message, code);
     };
 
+    /**
+     * Creates a new ReadableStream that receives the data sent to this stream
+     * by the Guacamole server. This function may be invoked at most once per
+     * stream, and invoking this function will overwrite any installed event
+     * handlers on this stream.
+     * 
+     * A ReadableStream is a JavaScript object defined the "Streams" standard.

Review Comment:
   Missing either `in` or `by` in this comment: `defined in the "Streams" standard.`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GUACAMOLE-377: Address performance regression related to migration to guac_display. [guacamole-client]

Posted by "mike-jumper (via GitHub)" <gi...@apache.org>.
mike-jumper commented on PR #1045:
URL: https://github.com/apache/guacamole-client/pull/1045#issuecomment-2622465517

   I've added some additional changes here that should significantly help with latency. By using the new `ImageDecoder` object where available, we can decode image streams as they are received without having to wait for the whole image contents to become available.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GUACAMOLE-377: Address performance regression related to migration to guac_display. [guacamole-client]

Posted by "necouchman (via GitHub)" <gi...@apache.org>.
necouchman commented on code in PR #1045:
URL: https://github.com/apache/guacamole-client/pull/1045#discussion_r1943323697


##########
guacamole-common-js/src/main/webapp/modules/InputStream.js:
##########
@@ -76,4 +76,66 @@ Guacamole.InputStream = function(client, index) {
         client.sendAck(guac_stream.index, message, code);
     };
 
+    /**
+     * Creates a new ReadableStream that receives the data sent to this stream
+     * by the Guacamole server. This function may be invoked at most once per
+     * stream, and invoking this function will overwrite any installed event
+     * handlers on this stream.
+     * 
+     * A ReadableStream is a JavaScript object defined the "Streams" standard.
+     * It is supported by most browsers, but not necessarily all browsers.
+     * The caller should verify this support is present before invoking this
+     * function. The behavior of this function then the browser does not

Review Comment:
   `then` -> `when`



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GUACAMOLE-377: Address performance regression related to migration to guac_display. [guacamole-client]

Posted by "mike-jumper (via GitHub)" <gi...@apache.org>.
mike-jumper commented on PR #1045:
URL: https://github.com/apache/guacamole-client/pull/1045#issuecomment-2641923803

   I think it's find to keep as-is. I've been experimenting with using a WebWorker for rendering (and, implicitly, OffscreenCanvas), but I don't think there's any need to hold off on these improvements.
   
   If the WebWorker approach does improve things further, I think it's OK for those improvements to be after 1.6.0. The current approach is already significantly faster.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] GUACAMOLE-377: Address performance regression related to migration to guac_display. [guacamole-client]

Posted by "necouchman (via GitHub)" <gi...@apache.org>.
necouchman merged PR #1045:
URL: https://github.com/apache/guacamole-client/pull/1045


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org