[PR #9091] [MERGED] Teach the renderer to keep thread alive if engine requests it #27410

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/9091
Author: @miniksa
Created: 2/10/2021
Status: Merged
Merged: 2/10/2021
Merged by: @DHowett

Base: mainHead: dev/miniksa/tick


📝 Commits (4)

  • ae9353c Make renderer base tell the thread to tick again if an engine reports that it wants it so continuous draw shaders can keep drawing.
  • b8a3b32 oh... use the actual name of the function that says if we have a shader or not.
  • 486aed0 Disable the continuous redraw for in-built retro effect since it doesn't use time.
  • 94e3492 Code format!

📊 Changes

6 files changed (+45 additions, -0 deletions)

View changed files

📝 src/renderer/base/RenderEngineBase.cpp (+10 -0)
📝 src/renderer/base/renderer.cpp (+8 -0)
📝 src/renderer/dx/DxRenderer.cpp (+22 -0)
📝 src/renderer/dx/DxRenderer.hpp (+2 -0)
📝 src/renderer/inc/IRenderEngine.hpp (+1 -0)
📝 src/renderer/inc/RenderEngineBase.hpp (+2 -0)

📄 Description

Teaches renderer base to keep thread alive if engine requests it.
DxEngine now requests it if shaders are on.

  • The render engine interface now has a true/false to return whether the
    specific renderer wants another frame to immediately follow up. The
    renderer base will ask for this information as it ends the paint on
    any particular engine (which is the time where invalid regions are
    typically cleaned up) and just poke the render thread the same as if
    an invalidation request came in from outside of render-land. That will
    trigger the render thread to just keep moving in the same way as any
    other invalidation.

Validation Steps Performed

  • Actually built it
  • Actually try it

I promised this in #8994


🔄 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/9091 **Author:** [@miniksa](https://github.com/miniksa) **Created:** 2/10/2021 **Status:** ✅ Merged **Merged:** 2/10/2021 **Merged by:** [@DHowett](https://github.com/DHowett) **Base:** `main` ← **Head:** `dev/miniksa/tick` --- ### 📝 Commits (4) - [`ae9353c`](https://github.com/microsoft/terminal/commit/ae9353c53f525a3d0092ae2cf73eedcc701cbb58) Make renderer base tell the thread to tick again if an engine reports that it wants it so continuous draw shaders can keep drawing. - [`b8a3b32`](https://github.com/microsoft/terminal/commit/b8a3b3272accee1a19d69af22665cd47cf7ff866) oh... use the actual name of the function that says if we have a shader or not. - [`486aed0`](https://github.com/microsoft/terminal/commit/486aed0fe9264ebf0c3225efaa9ba93302ef5673) Disable the continuous redraw for in-built retro effect since it doesn't use time. - [`94e3492`](https://github.com/microsoft/terminal/commit/94e3492ce29c3c23676c78bb6045c145ac0440ec) Code format! ### 📊 Changes **6 files changed** (+45 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `src/renderer/base/RenderEngineBase.cpp` (+10 -0) 📝 `src/renderer/base/renderer.cpp` (+8 -0) 📝 `src/renderer/dx/DxRenderer.cpp` (+22 -0) 📝 `src/renderer/dx/DxRenderer.hpp` (+2 -0) 📝 `src/renderer/inc/IRenderEngine.hpp` (+1 -0) 📝 `src/renderer/inc/RenderEngineBase.hpp` (+2 -0) </details> ### 📄 Description Teaches renderer base to keep thread alive if engine requests it. `DxEngine` now requests it if shaders are on. - The render engine interface now has a true/false to return whether the specific renderer wants another frame to immediately follow up. The renderer base will ask for this information as it ends the paint on any particular engine (which is the time where invalid regions are typically cleaned up) and just poke the render thread the same as if an invalidation request came in from outside of render-land. That will trigger the render thread to just keep moving in the same way as any other invalidation. ## Validation Steps Performed - [x] Actually built it - [x] Actually try it I promised this in #8994 --- <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:21:49 +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#27410