Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

don't wait for windows to be mapped to send their contents #3473

Closed
totaam opened this issue Feb 22, 2022 · 2 comments
Closed

don't wait for windows to be mapped to send their contents #3473

totaam opened this issue Feb 22, 2022 · 2 comments
Labels
enhancement New feature or request geometry

Comments

@totaam
Copy link
Collaborator

totaam commented Feb 22, 2022

At the moment, for non override-redirect windows, when a new window is created we have to wait for the client to also create the remote window, it then sends the geometry used back to the server which can then map the window and sends the contents.
Over a slow connection, this causes unnecessary delays during which the window contents are blank.

Instead, we can pre-map the window where we think it is going to land on screen (where the application requested it) and send the contents immediately - if the client maps it in a different location, the map-window packet and configure-window will adjust the window location later.
And if the window is a different size, we will re-send the correct contents - at least there is something to show before that happens.

@totaam totaam added enhancement New feature or request geometry labels Feb 22, 2022
totaam added a commit that referenced this issue Feb 22, 2022
the opengl backend needed a way to wait until the drawing area is realized so that it can generate an opengl context
@totaam
Copy link
Collaborator Author

totaam commented Feb 22, 2022

Seems to work OK!

@totaam
Copy link
Collaborator Author

totaam commented Feb 22, 2022

As of dc13263, to make it easier to trigger the race condition client side, set XPRA_SHOW_DELAY=1000 to delay showing the window by 1000ms. This ensures that draw packets are received before the window is mapped.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request geometry
Projects
None yet
Development

No branches or pull requests

1 participant