High GPU usage for Atlas engine #18539

Open
opened 2026-01-31 06:17:06 +00:00 by claunia · 4 comments
Owner

Originally created by @jack775544 on GitHub (Sep 26, 2022).

Windows Terminal version

1.16.2524.0 and 1.16.2523.0

Windows build number

10.0.22000.978

Other Software

Serilog

PC is an ROG Zephyrus M16 (2022) GU603 GU603ZW-K8104W

CPU is an i9-12900H and terminal is using the integrated GPU.

Steps to reproduce

I have 2 C# applications that are both using the Serilog logging library, outputting a large volume of colourised logs. The first one is a console application that will receive some data, log it to the console and then forward it to an ASP.NET Core. I have both of these applications running in 2 different tabs inside of a terminal window.

A typical log output from the console application is something like this and messages like these are printed out several times per second.
image

There are also some EF Core logs scattered throughout the console app that are printing out SQL statements that are running.

In the ASP.NET Core application it logs the incoming requests that are received from the CLI application which prints some metadata and some SQL that is being performed. There are several of these requests per second as well.

Expected Behavior

With the Atlas renderer disabled, GPU usage according to task manager is this.
image

Actual Behavior

With the Atlas renderer enabled the GPU usage is now reported as this.
image

Due to the high GPU usage, all applications on graphical applications on the system will run a bit slowly.

Originally created by @jack775544 on GitHub (Sep 26, 2022). ### Windows Terminal version 1.16.2524.0 and 1.16.2523.0 ### Windows build number 10.0.22000.978 ### Other Software [Serilog](https://github.com/serilog/serilog) PC is an [ ROG Zephyrus M16 (2022) GU603 GU603ZW-K8104W ](https://rog.asus.com/laptops/rog-zephyrus/rog-zephyrus-m16-2022-series/spec/) CPU is an i9-12900H and terminal is using the integrated GPU. ### Steps to reproduce I have 2 C# applications that are both using the Serilog logging library, outputting a large volume of colourised logs. The first one is a console application that will receive some data, log it to the console and then forward it to an ASP.NET Core. I have both of these applications running in 2 different tabs inside of a terminal window. A typical log output from the console application is something like this and messages like these are printed out several times per second. ![image](https://user-images.githubusercontent.com/8287765/192169731-bf1482f4-8c55-4fb2-bf9b-9c4e0d942cf1.png) There are also some EF Core logs scattered throughout the console app that are printing out SQL statements that are running. In the ASP.NET Core application it logs the incoming requests that are received from the CLI application which prints some metadata and some SQL that is being performed. There are several of these requests per second as well. ### Expected Behavior With the Atlas renderer disabled, GPU usage according to task manager is this. ![image](https://user-images.githubusercontent.com/8287765/192170076-00008093-bcf5-4bc3-af6b-b83590732ff8.png) ### Actual Behavior With the Atlas renderer enabled the GPU usage is now reported as this. ![image](https://user-images.githubusercontent.com/8287765/192170106-8cdf11f3-529d-4eac-aec4-f895d53a9fd1.png) Due to the high GPU usage, all applications on graphical applications on the system will run a bit slowly.
claunia added the Resolution-ExternalNeeds-Tag-FixArea-AtlasEngine labels 2026-01-31 06:17:06 +00:00
Author
Owner

@lhecker commented on GitHub (Sep 26, 2022):

Could you try setting your display refresh rate to 60Hz and test this again? The old text renderer was limited to 60FPS and I'm curious how the GPU usage looks like if both are running at approximately the same FPS.

@lhecker commented on GitHub (Sep 26, 2022): Could you try setting your display refresh rate to 60Hz and test this again? The old text renderer was limited to 60FPS and I'm curious how the GPU usage looks like if both are running at approximately the same FPS.
Author
Owner

@lhecker commented on GitHub (Sep 26, 2022):

Also I probably shouldn't say this out loud, but I'm really puzzled about how much GPU both of those text renderers are using on your system. You aren't using a low end system by any means and the Iris Xe GPUs are fairly new. Even 60% is way way too much. That's more than I had on a i7-6600U for a similar display.

@lhecker commented on GitHub (Sep 26, 2022): Also I probably shouldn't say this out loud, but I'm _really_ puzzled about how much GPU both of those text renderers are using on your system. You aren't using a low end system by any means and the Iris Xe GPUs are fairly new. Even 60% is way way too much. That's more than I had on a i7-6600U for a similar display.
Author
Owner

@jack775544 commented on GitHub (Sep 27, 2022):

When I tried this yesterday I was doing it on both the native display at 165Hz and a 2560x1440 resolution external monitor running at 60Hz and was getting similar results.

I was going to double check this today though and I have had some very perplexing results. GPU usage for Atlas now is ~25% and without Atlas is ~15%. Results are similar at both 165Hz and 60Hz on the built in and external display.

However I did get an automatic Intel GPU driver update from Windows Update this morning (31.0.101.3251) so that could have had something to do with it.

@jack775544 commented on GitHub (Sep 27, 2022): When I tried this yesterday I was doing it on both the native display at 165Hz and a 2560x1440 resolution external monitor running at 60Hz and was getting similar results. I was going to double check this today though and I have had some very perplexing results. GPU usage for Atlas now is ~25% and without Atlas is ~15%. Results are similar at both 165Hz and 60Hz on the built in and external display. However I did get an automatic Intel GPU driver update from Windows Update this morning (31.0.101.3251) so that could have had something to do with it.
Author
Owner

@lhecker commented on GitHub (Oct 12, 2022):

We can't reproduce this performance issue internally, but we suspect it's due to Intel's lack of driver support for Direct3D 11 which AtlasEngine depends more heavily on than the old engine. In our opinion this is an area were Intel could have the greatest impact.

However we're still working hard to make improvements in this area ourselves. I have a couple ideas how to reduce the GPU power draw for everyone. Additionally I'm planning to add a Direct3D 12 text renderer in the long term which the Iris GPUs should have a better time dealing with.

@lhecker commented on GitHub (Oct 12, 2022): We can't reproduce this performance issue internally, but we suspect it's due to Intel's lack of driver support for Direct3D 11 which AtlasEngine depends more heavily on than the old engine. In our opinion this is an area were Intel could have the greatest impact. However we're still working hard to make improvements in this area ourselves. I have a couple ideas how to reduce the GPU power draw for everyone. Additionally I'm planning to add a Direct3D 12 text renderer in the long term which the Iris GPUs should have a better time dealing with.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#18539