Skip to content

First "pin to screen" after launch freezes ~10s (synchronous wait, CPU idle) — MS Store 2.11.3, AMD, dual monitor #3739

@Metilar

Description

@Metilar

Contact Details

No response

What happened?

Environment

  • Snipaste 2.11.3 PRO, Microsoft Store (x64), Qt 6.2.4
  • Windows 10 22H2 (build 19045)
  • GPU: AMD Radeon RX 6950 XT, driver 32.0.21043.10005 (2026-05-12)
  • 2 monitors, 2560x1440 each, 125% scale (combined desktop 5120x1440)

Symptom
The FIRST time I pin a capture to screen after launching Snipaste (select region → middle-click to pin),
the app freezes for ~10 seconds before the pinned window appears. Every subsequent pin in the same
session is instant. So it's a one-time-per-process cost, paid on the first pin.

There is also a separate ~10s stall at startup (between "Settings imported" and "OpenGL acceleration: false"
in splog.txt). Setting gpu_acceleration=0 in config.ini removes the STARTUP stall, but the first-pin
freeze remains unchanged.

Diagnostics (sampled the process every 500ms during the freeze)

  • During the freeze Snipaste uses ~0 CPU — it is blocked/waiting, not computing.
  • No network activity at all (rules out license/update checks).
  • The full-desktop background bitmap (~162 MB) is held the entire 10s, then released when the pin appears.
  • Thread states during the freeze: several threads parked on kernel waits with reason EventPairLow
    (i.e. waiting on a synchronous LPC reply), the rest on UserRequest. This points to a blocking
    call into the window subsystem (win32k/csrss) during creation of the first top-most pin window.

Ruled out (each tested and freeze still reproduced)

  • Running as admin (as_admin=false)
  • HDR color correction (HDR is OFF in Windows)
  • GPU acceleration setting (gpu_acceleration=0)
  • Third-party injected hooks: DisplayFusion (AppHook) and Punto Switcher (PSHook) — both unloaded, freeze persisted
  • Antivirus network / license check (zero network)

Repro

  1. Fully quit Snipaste, relaunch.
  2. Press the snip hotkey, select a region.
  3. Middle-click to pin → ~10s freeze before the pinned window shows.
  4. Repeat without relaunching → instant.

Question
Is the first pin doing a synchronous window-creation/SendMessage call that can block ~10s on certain
multi-monitor / Windows configs? Could this init be made async or moved off the critical path?
I can provide a full process dump captured during the freeze if useful.

splog.txt

Platform

Microsoft Store

Version

2.11.3 PRO

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions