fix(treeland): Print fullscreen capture latency and reliability - #879
fix(treeland): Print fullscreen capture latency and reliability#879svan71 wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: svan71 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
|
Hi @svan71. Thanks for your PR. I'm waiting for a linuxdeepin member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
bf0b221 to
ed64638
Compare
|
I have read the CLA Document and I hereby sign the CLA |
ed64638 to
9157e16
Compare
|
The red ✗ on |
|
TAG Bot New tag: 6.6.38 |
On Treeland, Print/FullscreenScreenshot had three client-side problems: 1. save2Clipboard busy-waited for dde-clipboard-daemon dataComing with a size-based timeout (6s at 2560x1440). The handshake never completes, so the wait always burned the full timeout and delayed the "Saved to …" notification whenever clipboard ran before/near notify. 2. TreeLand is intentionally not isWaylandMode, so sendNotify/fullScreenshot used QTimer::singleShot(10, exitApp) plus app->exec(), leaving the process alive and making a second Print a silent m_singleInstance no-op. 3. Legacy shotFullScreen copies an empty m_backgroundPixmap on Treeland. Grab each output noninteractively via ext-image-copy-capture-v1 (SHM), with full damage_buffer, display flush, 15s timeout, and one retry. Skip interactive initializeCapture for this noninteractive path. Verified on Arch DDE Treeland 0.8.15: wall ~0.5–0.6s (was ~6s), save-to-notify ~0.5s (was ~6s), rapid double Print produces two files.
9157e16 to
9428daf
Compare
|
Friendly ping for maintainer attention. Rebased onto current The red Would appreciate an |
Summary
On Treeland, Print /
FullscreenScreenshotwas unreliable and felt slow:~6s delay between file save and “Saved to …” toast
save2Clipboard()busy-waits fordde-clipboard-daemondataComingwith a size-based timeout (6s at 2560×1440). On Treeland that handshake never completes, so the wait always burns the full timeout when clipboard runs around notify.Second Print often does nothing
TreeLand is intentionally not
isWaylandMode, sosendNotify/fullScreenshotusedQTimer::singleShot(10, exitApp)and left the process inapp->exec(), holdingm_singleInstance.Empty / failed fullscreen grabs
Legacy
shotFullScreen()copies an unfilledm_backgroundPixmapon Treeland. This PR grabs each output noninteractively via ext-image-copy-capture-v1 (SHM), with fulldamage_buffer, display flush, 15s timeout, and one retry. InteractiveinitializeCaptureis skipped for this path.Changes
TreelandFullScreenGrabber+fullScreenshotTreeland()for noninteractive fullscreenUtils::isTreelandModeexitApp()whenisTreelandMode(same as Wayland)m_treelandNonInteractiveFullscreento stop selector init spamTest plan
Notes
Verified live on Arch DDE + Treeland 0.8.15: compositor frame delivery ~20–40ms; delay was client-side. Pin-screenshots already skips blocking clipboard on Treeland; this aligns fullscreen with that approach.