v1.12.1073 (win10) extremely slow when retro terminal effect is on #17327

Closed
opened 2026-01-31 05:39:17 +00:00 by claunia · 10 comments
Owner

Originally created by @huili80 on GitHub (Apr 23, 2022).

Windows Terminal version

1.12.10982.0

Windows build number

19042.1165

Other Software

No response

Steps to reproduce

turn on retro terminal effect

Expected Behavior

No response

Actual Behavior

extremely high cpu usage (pegged at near 100%), extreme slowness when typing (takes almost 1 minute for any character to show up after typing on keyboard).

Originally created by @huili80 on GitHub (Apr 23, 2022). ### Windows Terminal version 1.12.10982.0 ### Windows build number 19042.1165 ### Other Software _No response_ ### Steps to reproduce turn on retro terminal effect ### Expected Behavior _No response_ ### Actual Behavior extremely high cpu usage (pegged at near 100%), extreme slowness when typing (takes almost 1 minute for any character to show up after typing on keyboard).
Author
Owner

@michaelmouton commented on GitHub (Apr 25, 2022):

I have Windows 10 build 19044.1645 and can confirm that there is a dramatic drop in performance after enabling "Retro terminal effects".

The performance drop mostly affects the startup time of the application, in addition to loading and starting new instances of CLI programs (i.e. cmd.exe, PowerShell, etc).

I have pretty solid hardware. A Dell Latitude 5290, i5-8350U, 16GB RAM, 1TB NVMe SSD. The only bottleneck could possibly be the iGPU.

That said, I have managed to run some games (such as GZDoom) at 2560x1440 at 50+ FPS, so if it were the graphical elements that slowed this terminal emulator down, it would have to be highly unoptimized.

However, I am not a very experienced programmer, and as such I cannot give recommendations on how to improve performance, nor can I truly criticize it.

@michaelmouton commented on GitHub (Apr 25, 2022): I have Windows 10 build 19044.1645 and can confirm that there is a dramatic drop in performance after enabling "Retro terminal effects". The performance drop mostly affects the startup time of the application, in addition to loading and starting new instances of CLI programs (i.e. cmd.exe, PowerShell, etc). I have pretty solid hardware. A Dell Latitude 5290, i5-8350U, 16GB RAM, 1TB NVMe SSD. The only bottleneck could possibly be the iGPU. That said, I have managed to run some games (such as GZDoom) at 2560x1440 at 50+ FPS, so if it were the graphical elements that slowed this terminal emulator down, it would have to be highly unoptimized. However, I am not a very experienced programmer, and as such I cannot give recommendations on how to improve performance, nor can I truly criticize it.
Author
Owner

@lhecker commented on GitHub (Apr 27, 2022):

I've been planning some optimizations in that area for a while, but haven't gotten to it yet.

But just to make sure, could both of you please run "dxdiag" from either Win+R or the start menu?
If it asks you whether to check for driver signatures, please click "Yes".

Then post a screenshot of the Display tab here. It should look like this:
image

@lhecker commented on GitHub (Apr 27, 2022): I've been planning some optimizations in that area for a while, but haven't gotten to it yet. But just to make sure, could both of you please run "dxdiag" from either Win+R or the start menu? If it asks you whether to check for driver signatures, please click "Yes". Then post a screenshot of the Display tab here. It should look like this: ![image](https://user-images.githubusercontent.com/2256941/165520239-126cead9-1b09-479c-8849-a7f2767592c3.png)
Author
Owner

@michaelmouton commented on GitHub (Apr 29, 2022):

image

@michaelmouton commented on GitHub (Apr 29, 2022): ![image](https://user-images.githubusercontent.com/21241736/165894333-798eddd2-c23c-417b-9243-0dda20fc7616.png)
Author
Owner

@kondr-sugoi commented on GitHub (Jan 19, 2023):

image

It looks like there is the problem with intel integrated graphics :)

@kondr-sugoi commented on GitHub (Jan 19, 2023): ![image](https://user-images.githubusercontent.com/69530121/213487891-2028961d-c6be-4c13-841c-56aad1bb8b6c.png) It looks like there is the problem with intel integrated graphics :)
Author
Owner

@zadjii-msft commented on GitHub (Jul 5, 2023):

We've got a feeling that this was improved with the new renderer in Terminal Preview 1.18. Could someone who was seeing this try that out and let us know if this is fixed now/?

@zadjii-msft commented on GitHub (Jul 5, 2023): We've got a feeling that this was improved with the new renderer in Terminal Preview 1.18. Could someone who was seeing this try that out and let us know if this is fixed now/?
Author
Owner

@michaelmouton commented on GitHub (Jul 6, 2023):

Heya. I tried the latest update, but unfortunately things didn't improve much. That said I am still using an iGPU and don't have anything with discrete graphics. It'd be my guess that GPU memory speed would improve performance.

Keep in mind I tested it with my el cheapo Asus BR1100F...

1
2

But I also don't really use Windows Terminal much as it doesn't work too well for my application. Instead I use this...

https://github.com/michaelmouton/right_click_awesomeness

@michaelmouton commented on GitHub (Jul 6, 2023): Heya. I tried the latest update, but unfortunately things didn't improve much. That said I am still using an iGPU and don't have anything with discrete graphics. It'd be my guess that GPU memory speed would improve performance. Keep in mind I tested it with my el cheapo Asus BR1100F... ![1](https://github.com/microsoft/terminal/assets/21241736/07096cca-2724-43f0-aa64-fe61674e9925) ![2](https://github.com/microsoft/terminal/assets/21241736/1397c996-c434-4edd-8679-bd00944470c6) But I also don't really use Windows Terminal much as it doesn't work too well for my application. Instead I use this... https://github.com/michaelmouton/right_click_awesomeness
Author
Owner

@kondr-sugoi commented on GitHub (Jul 10, 2023):

I haven't updated to the latest version yet (I'm using the version from windows store), but the problem went away by itself a few weeks ago..

@kondr-sugoi commented on GitHub (Jul 10, 2023): I haven't updated to the latest version yet (I'm using the version from windows store), but the problem went away by itself a few weeks ago..
Author
Owner

@microsoft-github-policy-service[bot] commented on GitHub (Jul 14, 2023):

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

@microsoft-github-policy-service[bot] commented on GitHub (Jul 14, 2023): This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **4 days**. It will be closed if no further activity occurs **within 3 days of this comment**.
Author
Owner

@huili80 commented on GitHub (Jul 14, 2023):

Tried Version: 1.17.11461.0 installed from Microsoft Store. When using software rendering, retro terminal effect is still very slow. It's good when software rendering is off, which is perhaps not too surprising.

@huili80 commented on GitHub (Jul 14, 2023): Tried Version: 1.17.11461.0 installed from Microsoft Store. When using software rendering, retro terminal effect is still very slow. It's good when software rendering is off, which is perhaps not too surprising.
Author
Owner

@lhecker commented on GitHub (Aug 31, 2023):

I'll close this issue for now. Insufficient performance of the retro shader on weaker GPUs is something we don't wish to tackle right now. I'll explain why in a bit.

Windows Terminal 1.13 and later ship with "Atlas Engine" which is a significantly faster text renderer. It's enabled by default in Preview versions and opt-in in the non-Preview ones (check you "Rendering" settings). Windows Terminal 1.18 and later have an even more modern text renderer. If you haven't done so, please give it a try. It might improve your situation.

But even so, if you use software rendering, performance will simply be bad. CPUs aren't made for the kind of parallel processing that's needed to push pixels on the screen quickly. The WARP renderer we depend on is not the fastest software renderer either.
The retro terminal effect in particular uses a 2D (!) 13*13 gaussian blur effect. With 169 samples per output pixel this won't run well on any slow GPU, including simple iGPUs. On my proper desktop GPU it runs fairly well. On my laptop its performance is bad. Improving the retro terminal effect performance hasn't been our priority as we consider the retro effect to be a bit of a "showcase" effect.

But the only proper improvement would be to use a 1D kernel and run two shader passes. This would bring a ~6.5x performance improvement and probably make it run sufficiently well on iGPUs. That however is not something we can pursue soon: The retro effect is basically just a builtin shader that replaces the "experimental.pixelShaderPath" setting. Right now that shader support is experimental and rudimentary. It doesn't support versioning, arbitrary arguments, arbitrary shader passes, etc., the last of which is required to improve the performance of the retro effect and would be #13568.

@lhecker commented on GitHub (Aug 31, 2023): I'll close this issue for now. Insufficient performance of the retro shader on weaker GPUs is something we don't wish to tackle right now. I'll explain why in a bit. Windows Terminal 1.13 and later ship with "Atlas Engine" which is a significantly faster text renderer. It's enabled by default in Preview versions and opt-in in the non-Preview ones (check you "Rendering" settings). Windows Terminal 1.18 and later have an even more modern text renderer. If you haven't done so, please give it a try. It might improve your situation. But even so, if you use software rendering, performance will simply be bad. CPUs aren't made for the kind of parallel processing that's needed to push pixels on the screen quickly. The WARP renderer we depend on is not the fastest software renderer either. The retro terminal effect in particular uses a 2D (!) 13*13 gaussian blur effect. With 169 samples per output pixel this won't run well on any slow GPU, including simple iGPUs. On my proper desktop GPU it runs fairly well. On my laptop its performance is bad. Improving the retro terminal effect performance hasn't been our priority as we consider the retro effect to be a bit of a "showcase" effect. But the only proper improvement would be to use a 1D kernel and run two shader passes. This would bring a ~6.5x performance improvement and probably make it run sufficiently well on iGPUs. That however is not something we can pursue soon: The retro effect is basically just a builtin shader that replaces the `"experimental.pixelShaderPath"` setting. Right now that shader support is experimental and rudimentary. It doesn't support versioning, arbitrary arguments, arbitrary shader passes, etc., the last of which is required to improve the performance of the retro effect and would be #13568.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#17327