[PR #10620] [CLOSED] Don't call flush when circling is triggered in VtRenderer #28146

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/10620
Author: @skyline75489
Created: 7/12/2021
Status: Closed

Base: mainHead: chesterliu/dev/delay-vt-circling-flush


📝 Commits (1)

  • 98ad9a3 Don't call flush when circling is triggered in VtRenderer

📊 Changes

1 file changed (+6 additions, -2 deletions)

View changed files

📝 src/renderer/vt/paint.cpp (+6 -2)

📄 Description

Summary of the Pull Request

Don't call flush when circling is triggered in VtRenderer.

References

Currently every time TriggerCircling is called, VtRenderer will force paint the frame and then flush the internal buffer. This is not really necessary because the max drawing frequency for graphic renderers like DxRenderer is limited. This causes an exceptionally bad case for the "1 million yes" benchmark: every time a “y" is printed, a single line if flushed, which is y(lot of spaces)\n. With this fix, VtRenderer will not flush the buffer eagerly and wait for more text. This improves the throughput.

PR Checklist

  • Supports What about 'over all windows' as Task Manager? (#10563)
  • CLA signed. If not, go over here and sign the CLA
  • Tests added/passed
  • Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
  • Schema 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. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed


🔄 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/10620 **Author:** [@skyline75489](https://github.com/skyline75489) **Created:** 7/12/2021 **Status:** ❌ Closed **Base:** `main` ← **Head:** `chesterliu/dev/delay-vt-circling-flush` --- ### 📝 Commits (1) - [`98ad9a3`](https://github.com/microsoft/terminal/commit/98ad9a399316da53d34a2a99312ef024b22ceef9) Don't call flush when circling is triggered in VtRenderer ### 📊 Changes **1 file changed** (+6 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/vt/paint.cpp` (+6 -2) </details> ### 📄 Description <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request Don't call flush when circling is triggered in VtRenderer. <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References Currently every time `TriggerCircling` is called, `VtRenderer` will force paint the frame and then flush the internal buffer. This is not really necessary because the max drawing frequency for graphic renderers like DxRenderer is limited. This causes an exceptionally bad case for the "1 million yes" benchmark: every time a “y" is printed, a single line if flushed, which is `y(lot of spaces)\n`. With this fix, `VtRenderer` will not flush the buffer eagerly and wait for more text. This improves the throughput. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [ ] Supports #10563 * [ ] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [ ] Tests added/passed * [ ] Documentation updated. If checked, please file a pull request on [our docs repo](https://github.com/MicrosoftDocs/terminal) and link it here: #xxx * [ ] Schema 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. Issue number where discussion took place: #xxx <!-- 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 <!-- Describe how you validated the behavior. Add automated tests wherever possible, but list manual validation steps taken as well --> ## Validation Steps Performed --- <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:26:37 +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#28146