exorbitant GPU usage. #21230

Closed
opened 2026-01-31 07:37:08 +00:00 by claunia · 4 comments
Owner

Originally created by @ArcusCerebellumus on GitHub (Feb 11, 2024).

This isn't new and I've been off and on hunting for closure for a while now (more than a year).

Similar issue cropped up here a long time ago and has been closed with a resolution-external tag, but no actual explanation... the guy having an issue says it's fine now, but what IS fine? What is "normal" in this case?

On this screenshot, I have software rendering on, no transparency and my application does nothing but draw a single character - "1" - centered to the terminal window 5 times per second... and my beefy GPU is at 30%+... is that normal?

Screenshot

Screenshot_379

Any combination of flags in config leads to the same result. Almost like they do nothing at all.

I suspect that WT isn't even the culprit here, because Alacrity also does this (to an even worse degree). All systems I tested this on do the same thing. This simple test I wrote also isn't what causes this - Vim, Neovim, and MC, all do this. Not when things are still (since they probably have a transitory buffer to check if they need to draw anything), but when you start moving around or scrolling - oh boy...

I don't even care if there's a fix - just want to know what's going on. Sorry for using an issue for this, but as I've said - the bottom of every barrel I could find has been scraped already and this is my last option. Also, sorry if I sound too frustrated - it's mostly due to curiosity %)

Originally created by @ArcusCerebellumus on GitHub (Feb 11, 2024). This isn't new and I've been off and on hunting for closure for a while now (more than a year). [Similar issue](https://github.com/microsoft/terminal/issues/3360) cropped up here a long time ago and has been closed with a resolution-external tag, but no actual explanation... the guy having an issue says it's fine now, but what IS fine? What is "normal" in this case? On this screenshot, I have software rendering on, no transparency and my application does nothing but draw a single character - "1" - centered to the terminal window 5 times per second... and my beefy GPU is at 30%+... is that normal? <details><summary>Screenshot</summary> <p> ![Screenshot_379](https://github.com/microsoft/terminal/assets/128910823/c3b8bb82-1489-45c1-90e1-41b13dc4d93a) </p> </details> Any combination of flags in config leads to the same result. Almost like they do nothing at all. I suspect that WT isn't even the culprit here, because Alacrity also does this (to an even worse degree). All systems I tested this on do the same thing. This simple test I wrote also isn't what causes this - Vim, Neovim, and MC, all do this. Not when things are still (since they probably have a transitory buffer to check if they need to draw anything), but when you start moving around or scrolling - oh boy... I don't even care if there's a fix - just want to know what's going on. Sorry for using an issue for this, but as I've said - the bottom of every barrel I could find has been scraped already and this is my last option. Also, sorry if I sound too frustrated - it's mostly due to curiosity %)
claunia added the Needs-TriageNeeds-Tag-Fix labels 2026-01-31 07:37:09 +00:00
Author
Owner

@lhecker commented on GitHub (Feb 12, 2024):

On this screenshot, I have software rendering on

I'm assuming you just did this for testing, but just to be sure: Don't use software rendering under normal circumstances.


Your task manager shows GPU usage in the Desktop Window Manager (aka DWM). If you don't know what DWM is: It gives UI applications a bitmap/surface to draw into and then it takes each surface and blends them all together onto the screen (it's a so called "compositor"). If you have a 360Hz monitor then it does this at up to 360FPS if needed (= if anything changed on the screen), which is why it using GPU is normal.

On top of that, the GPU usage metric is relative to the current core frequency of the GPU. As you can see in HWMonitor, your GPU currently runs at an idle frequency of just 225MHz and so 34% usage equates to an effective clock rate of just 76.5MHz. Such a frequency is absolutely fine and I see the same on my GPU.

I believe in Windows 11 they changed task manager to show the GPU usage relative to the nominal frequency of the GPU (= >2000MHz) and so it won't show up as >30% usage during idle anymore.

Finally, I'd like to recommend you to use HWiNFO64 instead. I personally consider to be significantly better than HWMonitor as it shows vastly more info and is a lot more up to date with the latest hardware. Here's my GPU for instance where you can see the same effective clock rate as you're getting:
image

You should check it out, because your idle power draw of 31W is quite weird. It really shouldn't do that and I don't think it's good for your GPU.

I'll be closing this issue for now since it isn't really an issue with Windows Terminal per se. If you have any other questions, please let me know.

@lhecker commented on GitHub (Feb 12, 2024): > On this screenshot, I have software rendering on I'm assuming you just did this for testing, but just to be sure: Don't use software rendering under normal circumstances. --- Your task manager shows GPU usage in the Desktop Window Manager (aka DWM). If you don't know what DWM is: It gives UI applications a bitmap/surface to draw into and then it takes each surface and blends them all together onto the screen (it's a so called "compositor"). If you have a 360Hz monitor then it does this at up to 360FPS if needed (= if anything changed on the screen), which is why it using GPU is normal. On top of that, the GPU usage metric is relative to the current core frequency of the GPU. As you can see in HWMonitor, your GPU currently runs at an idle frequency of just 225MHz and so 34% usage equates to an effective clock rate of just 76.5MHz. Such a frequency is absolutely fine and I see the same on my GPU. I believe in Windows 11 they changed task manager to show the GPU usage relative to the nominal frequency of the GPU (= >2000MHz) and so it won't show up as >30% usage during idle anymore. Finally, I'd like to recommend you to use [HWiNFO64](https://www.hwinfo.com/download/) instead. I personally consider to be significantly better than HWMonitor as it shows vastly more info and is a lot more up to date with the latest hardware. Here's my GPU for instance where you can see the same effective clock rate as you're getting: ![image](https://github.com/microsoft/terminal/assets/2256941/780ea5f2-be35-4822-adaf-0234d9dacef2) You should check it out, because your idle power draw of 31W is quite weird. It really shouldn't do that and I don't think it's good for your GPU. I'll be closing this issue for now since it isn't really an issue with Windows Terminal per se. If you have any other questions, please let me know.
Author
Owner

@ArcusCerebellumus commented on GitHub (Feb 12, 2024):

This calmed me down a bit - thank you - but not all is clear yet...

I know what DWM does on a surface level, but the problem isn't that it takes resources - the problem is how much and in what context... I don't get why the shell host, of all things, does this. In "software rendering" mode, no less...

Did some more testing:

  • VLC playing HD footage (combined with DWM) is at 10-11%;
  • web browser with Youtube video opened and playing is at 8-12% + the roughly same on DWN's side for a total of ~25%;
  • and drum roll good 'ol conhost takes 1% + DWM 5-6% on the same test I wrote to make the screenshot from OP.

I just don't get it... doesn't seem like the proverbial "effort" required on PC's part is consistent.

Anyway, thank you again for the response. The main thing that I somehow managed to miss is from what base value this percentage is taken and knowing this makes my life a lot less stressful. All the best =)

PS: 31W is not idle - it's the wattage I get from all the "1" numerals I draw. Idle (or thereabout) is to the right of it.

@ArcusCerebellumus commented on GitHub (Feb 12, 2024): This calmed me down a bit - thank you - but not all is clear yet... I know what DWM does on a surface level, but the problem isn't that it takes resources - the problem is how much and in what context... I don't get why the shell host, of all things, does this. In "software rendering" mode, no less... Did some more testing: - VLC playing HD footage (combined with DWM) is at 10-11%; - web browser with Youtube video opened and playing is at 8-12% + the roughly same on DWN's side for a total of ~25%; - and *drum roll* good 'ol conhost takes 1% + DWM 5-6% on the same test I wrote to make the screenshot from OP. I just don't get it... doesn't seem like the proverbial "effort" required on PC's part is consistent. Anyway, thank you again for the response. The main thing that I somehow managed to miss is from what base value this percentage is taken and knowing this makes my life a lot less stressful. All the best =) PS: 31W is not idle - it's the wattage I get from all the "1" numerals I draw. Idle (or thereabout) is to the right of it.
Author
Owner

@lhecker commented on GitHub (Feb 12, 2024):

Your test numbers are also missing the GPU core frequency you were seeing at the time. Without that it's hard to say whether VLC uses more or less GPU than conhost. The real question in my opinion is: What effective clock rate are you seeing? Or alternatively: What GPU wattage is it drawing?

I don't get why the shell host, of all things, does this. In "software rendering" mode, no less...

Just to be clear, software rendering doesn't mean no GPU is being used, because your GPU is what is connected to your display and so to show anything on it, it needs to go through your GPU. That's why you always see GPU usage in DWM, unless your application is full screen (this is known as DWM's "full screen optimization" and very relevant for video games).

If you use HWiNFO for such testing and always see all the metrics all the time, in particular the effective clock rate and exact power draws, I think you'll have a much easier time to determine which software is probably a GPU hog.

P.S.: Just to be sure, don't forget to disable software rendering. It burns a lot of CPU and also lacks a lot of extra features in newer releases.

@lhecker commented on GitHub (Feb 12, 2024): Your test numbers are also missing the GPU core frequency you were seeing at the time. Without that it's hard to say whether VLC uses more or less GPU than conhost. The real question in my opinion is: What effective clock rate are you seeing? Or alternatively: What GPU wattage is it drawing? > I don't get why the shell host, of all things, does this. In "software rendering" mode, no less... Just to be clear, software rendering doesn't mean no GPU is being used, because your GPU is what is connected to your display and so to show anything on it, it needs to go through your GPU. That's why you always see GPU usage in DWM, unless your application is full screen (this is known as DWM's "full screen optimization" and very relevant for video games). If you use HWiNFO for such testing and always see all the metrics all the time, in particular the effective clock rate and exact power draws, I think you'll have a much easier time to determine which software is probably a GPU hog. P.S.: Just to be sure, don't forget to disable software rendering. It burns a lot of CPU and also lacks a lot of extra features in newer releases.
Author
Owner

@tusharsnx commented on GitHub (Feb 13, 2024):

web browser with Youtube video opened and playing is at 8-12% + the roughly same on DWN's side for a total of ~25%

If you happen to have ambient mode 'on', then it's known to draw high GPU power to draw those delicious gradients :) For a laptop user like me, it was apparent how quickly it drains the battery.

https://www.reddit.com/r/pcmasterrace/comments/ykwwzs/tip_turning_off_youtube_ambient_mode_can_help_fix/

Also, everything you do should shoot up GPU usage for DWM, since it has to draw the changes back to the screen, but I expect it to settle down after a few seconds. Do you have something on your Desktop that keeps changing?

(this might also be the reason why showing seconds on sys tray can cause higher power usage)
image

@tusharsnx commented on GitHub (Feb 13, 2024): > web browser with Youtube video opened and playing is at 8-12% + the roughly same on DWN's side for a total of ~25% If you happen to have ambient mode 'on', then it's known to draw high GPU power to draw those delicious gradients :) For a laptop user like me, it was apparent how quickly it drains the battery. https://www.reddit.com/r/pcmasterrace/comments/ykwwzs/tip_turning_off_youtube_ambient_mode_can_help_fix/ Also, everything you do should shoot up GPU usage for DWM, since it has to draw the changes back to the screen, but I expect it to settle down after a few seconds. Do you have something on your Desktop that *keeps changing*? *(this might also be the reason why showing seconds on sys tray can cause higher power usage)* ![image](https://github.com/microsoft/terminal/assets/55626797/551a6c35-ee0f-41f1-b1e2-9b710c25a467)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#21230