[PR #2959] [MERGED] Reduce text layout CPU usage when DWrite analysis is not needed #25168

Open
opened 2026-01-31 09:07:44 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/2959
Author: @skyline75489
Created: 9/29/2019
Status: ✅ Merged
Merged: 10/17/2019
Merged by: @DHowett-MSFT

Base: master ← Head: fix/textLayoutPerf


📝 Commits (2)

  • 72712da Added shortcut when DWrite analysis in not needed
  • ab372f6 Added check for text read length

📊 Changes

1 file changed (+14 additions, -7 deletions)

View changed files

📝 src/renderer/dx/CustomTextLayout.cpp (+14 -7)

📄 Description

Summary of the Pull Request

It takes many CPU cycles to calculate text layout & font fallback even it's not really necessary. This may seem a little aggresive but it indeed dramatically boost performance.

References

#806

PR Checklist

  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Requires documentation to be updated
  • I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan.

Detailed Description of the Pull Request / Additional comments

With the help of #2937 and this PR, vim performance is way more smooth than before.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/2959 **Author:** [@skyline75489](https://github.com/skyline75489) **Created:** 9/29/2019 **Status:** ✅ Merged **Merged:** 10/17/2019 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `fix/textLayoutPerf` --- ### 📝 Commits (2) - [`72712da`](https://github.com/microsoft/terminal/commit/72712da96d3d6ce958395a1b37e827bd36dee66f) Added shortcut when DWrite analysis in not needed - [`ab372f6`](https://github.com/microsoft/terminal/commit/ab372f62df00b82547519f267f6f4a0ef8dda964) Added check for text read length ### 📊 Changes **1 file changed** (+14 additions, -7 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/dx/CustomTextLayout.cpp` (+14 -7) </details> ### 📄 Description ## Summary of the Pull Request It takes many CPU cycles to calculate text layout & font fallback even it's not really necessary. This may seem a little aggresive but it indeed dramatically boost performance. ## References #806 <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [X] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Requires documentation to be updated * [ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. <!-- Provide a more detailed description of the PR, other things fixed or any additional comments/features here --> ## Detailed Description of the Pull Request / Additional comments With the help of #2937 and this PR, vim performance is way more smooth than before. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:07:44 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#25168