mike-jumper opened a new pull request, #590: URL: https://github.com/apache/guacamole-server/pull/590
These changes address the following issues mainly affecting the performance of RDP connections: * Repeated checking of the `ops` lock within the render thread leads to unnecessary contention when `GUAC_DISPLAY_RENDER_THREAD_STATE_FRAME_MODIFIED` is typically signaled frequently within a single frame. We can instead sleep between checks when there is no explicit frame boundary. * The `message_lock` leads to contention with handling of instructions like "mouse" and "sync", leading to a feedback loop of lag adjustments, but `message_lock` appears to no longer be needed (need to verify this). * We were erroneously _not_ resetting FreeRDP's invalid region (dirty rect) within the GDI, leading to unnecessary reevaluation of regions of the display that have not changed. Opening as a draft while checking: - [ ] Is there anything further we can do to avoid slowdown between individual GDI drawing operations, or is this unavoidable? - [ ] Is there anything we can do to avoid lag when using FreeRDP 3.x, which apparently does not provide the same `AsyncInput` setting as FreeRDP 2.x? - [ ] Is it truly safe to completely eliminate the `message_lock` for both FreeRDP 2.x and 3.x? -- 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-unsubscr...@guacamole.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org