DeskScapes appears to leak GDI regions in explorer.exe

App Version: 26.0.0.1

It appears that with DeskScapes loaded, explorer.exe steadily accumulates GDI objects, mostly Region objects, until it reaches the 10,000 per-process limit. Explorer then either hangs (taskbar partly unresponsive, Ctrl + Alt + Del unreliable) or terminates itself via explorer!CTray::CheckGDIHandleLimit (fail-fast, 0xc0000409). With DeskScapes unloaded and Fences and Start11 still active, Explorer's GDI count stayed flat (about 360) for 17+ hours.

Environment

  • Windows 11 Insider, build 28120
  • DeskScapes 26.0.0.1, single static image (no Dream, no playlist, no desktop effects)
  • Fences 6.5.8, Start11 2.8.1.0
  • NVIDIA GeForce RTX 3080; Dell UltraSharp 43 (U4320Q, 4K) primary, Wacom Cintiq 16 (1080p) secondary (usually off; display mode set to "PC screen only" during testing)

Observations
I logged Explorer's GDI and USER object counts every 5 minutes with GetGuiResources.

  • With DeskScapes loaded: GDI grew by hundreds to thousands per hour during normal use. While the PC was idle, it also stepped up once an hour, consistently between about :05 and :10 past the hour (+375 to +1,032 per step). Overnight it reached 10,000 and stayed pinned, leaving Explorer partly hung by morning.
  • Isolation tests, unloading each product from explorer.exe and confirming with Process Explorer's Find Handle or DLL:
    • Start11 unloaded (Fences and DeskScapes active): the leak and the hourly steps continued.
    • DeskScapes unloaded (Fences only): flat at about 357–371 for 17+ hours, with no hourly steps.
    • DeskScapes reloaded (wallpaper file pinned locally): GDI rose from 361 to over 1,700 within minutes of normal use.
    • DeskScapes uninstalled (Fences and Start11 active): stable under 500.
  • Ruled out as triggers: Windows' background setting is "Picture" (no slideshow or Spotlight); DeskScapes desktop effects were off. The wallpaper image originally sat in a OneDrive Files On-Demand folder that was not set to "Always keep on this device"; pinning it locally did not stop the leak.
  • Crash evidence: a full dump of one crash shows explorer!CTray::CheckGDIHandleLimit at the top of the stack, with Start10_64 and DesktopDock64 frames in the message chain. It appears those modules were only handling a message when the limit tripped, not that they caused the leak. 

For now, I've uninstalled DeskScapes.

I'm curious what DeskScapes might be doing on an hourly timer when it's showing a single static image.

Hopefully this report helps you sort out the problem.

27 views 1 replies
Reply #1 Top

Hello,
I have forwarded your problem/question to Stardock Support Team for their assistance. Please keep an eye on this thread for any updates. We appreciate your feedback and patience. Thank you.

Basj,
Stardock Community Assistant