-
Notifications
You must be signed in to change notification settings - Fork 8.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Very High Resource Usage using 'Retro terminal Effects' #14716
Comments
Out of curiosity - what's the impact like on 1.16 Preview/? |
Same result. I am also editing the reproduction steps, this problem specifically occurs when software rendering is enabled. |
On Windows On Windows 11 with the software rendering enabled the CPU usage is 100% on a Volterra dev kit. |
The retro shader is a significantly more complex shader than the one drawing text. It'll never run performant on the CPU, because contemporary CPUs are simply not fast enough for this. Because of this you'll notice that you cannot use the retro shader if you enable software rendering in 1.16 Preview if the newer AtlasEngine text renderer is enabled (which it is by default). |
I mean yea, this does sound a little by-design to me: "I turned off GPU rendering and turned on a shader, and now the Terminal uses a lot of CPU". Like, yea, that'll happen. Is there a reason you're using software rendering/? |
I use software rendering to minimise the GPU usage of apps like terminal, since my GPU is almost always in heavy use already, be it rendering 3D models, Premiere Pro Sequences or NVENC Streaming. Also, why does terminal attempt to max out my GPU usage as well, as shown in the video I attached? |
If you'd like to you can use AtlasEngine in Windows Terminal Preview. On a GPU like yours, if the GPU is boosting at high clock speeds, it uses approximately 0.008% of GPU time per FPS. In other words, on a blinking cursor (= 1 FPS) you'll see approximately 0% GPU usage and at 144 FPS you'll see approximately 1.1% GPU usage. This usage will appear higher if your GPU is idle, as the GPU will run at much lower clock speeds. (I've tested this on my own RTX 3080.)
It doesn't use your physical GPU at all. When you enable software rendering we use the "WARP" video adapter, which is a virtual GPU running on the CPU. Due to that it shows up as GPU usage in the Processes tab (in this case: GPU usage = WARP usage), but it won't show up as your physical GPU's usage in the Performance tab. I'll go ahead and close this issue for bookkeeping reasons, because I believe that this isn't an issue and I've already made it so that this can't happen anymore in our future text renderer. But we can of course continue discussing it here. |
Perfect response, thank you for the tip! |
Windows Terminal version
1.15.3466.0
Windows build number
10.0.22000.588
Other Software
No response
Steps to reproduce
Expected Behavior
Fully functional Terminal styled with the Retro terminal effects.
Actual Behavior
~90% CPU usage (Ryzen 7 5800X 8-Core) and 100% GPU usage (NVIDIA GeForce RTX 3080 Ti)
Desktop.2023.01.21.-.23.32.59.04.mp4
The text was updated successfully, but these errors were encountered: