2

I have a fairly powerful Windows 10 machine with multiple SATA SSDs, Core i7-3770K @3.90 GHz and 32 GB RAM. GPU is a GTX 950 powering three 4K monitors at 200% dpi setting.

Process Explorer GPU-Z

However, I can basically watch the Windows 10 GUI draw its windows for about half a second, for example, when opening Windows Explorer. Also, simply switching between windows with Alt-Tab is not instantaneous, but takes like 200ms or so until the foremost window is drawn or shown completely.

What components are primarily responsible for drawing the GUI?

CPU? RAM? Graphics card only?

For an upgrade to be worth it, the GUI should be drawn at least twice or several times as fast as it is drawn now.

There are some related questions below, where it seems that the problem partially is due to leaking handles (particularly GDI handles), and due to a setting called Control Flow Guard:

Windows GUI drawing slows down with uptime

Windows 10 - windows open slow, GUI draw slows down with heavy multitasking - but why?

Stuttering tweaks (for other unfortunate 1809 users)

GDI Handles view

I have frequently noticed the UltraSearch program in the above list causing trouble, as it sometimes automatically gets active in the background when other programs put heavy load on the system. As can be seen above, it has a lot of GDI handles (in the form of bitmaps).

6
  • 2
    Does this also happen with just one monitor? With no DPI scaling? 1080p monitor, if you can get one for testing?
    – gronostaj
    Mar 2 at 11:35
  • 2
    Running a budget graphics card that's 5+ years old certainly doesn't help performance. As well as a almost 10 year old CPU. Does the issue always exist or does it only crop up after some time? What was the latest change you did after which it appeared? Did you try to run less tweaking tools to see whenver one of them is responsible?
    – Seth
    Mar 2 at 11:47
  • 3
    You have a lot of graphics dependent applications running. Chrome, Media Player, Teams (basically a standalone Chrome instance) and a lot of other applications all doing their own drawing. If you only have a 2GB graphics card you could easily have used up all it's memory on Chrome alone depending on how many tabs you have. Check out GPU-z from Techpowerup which might be able to show memory usage. Also, how are the monitors connected? I didn't think a 950 would have 3 true 4K outputs...
    – Mokubai
    Mar 2 at 11:47
  • I was multitasking heavily this morning with many of those applications, and then the Windows GUI became noticeably slow, as also described in the threads linked above. The graphics card has three DP outputs, each supporting 4K at 60Hz. Memory usage of the graphics card does not seem to be particularly high: i.imgur.com/1p3wsbt.png
    – David.P
    Mar 2 at 12:01
  • 1
    It is how it works, GUI drawing is single threaded (runs on a single CPU core if not hardware accelerated) no matter how many cores your CPU has. Windows Explorer is a mix of GDI, MFC and WPF to the best of my knowledge. Both GDI and MFC aren't hardware accelerated entirely. Most apps themselves are entirely single threaded, since its easy to code that way, hence at max a single core is used for all operations and this is never the fastest.
    – demberto
    Jun 9 at 19:01

1 Answer 1

2

Disabling Control Flow Guard it is.

Since I did that, the problem basically went away.

Note that Control Flow Guard is a Windows security feature that helps mitigate/block ransomware, so use at your own risk.

1
  • 1
    Might be good to accept your own answer, document the steps to disable it (as links die), & if possible note this is a security feature that helps mitigate/block ransomware so use at your own risk
    – gregg
    Jul 28 at 1:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.