Support renderer fast presents #9958

Open
opened 2026-01-31 02:08:29 +00:00 by claunia · 0 comments
Owner

Originally created by @mrange on GitHub (Aug 1, 2020).

Description of the new feature/enhancement

The current renderer has a complex workflow in order to render a frame. If one are looking into providing animated backgrounds or terminal effects that require high FPS rates the process is too slow especially since terminal effects disables partial (faster) repaints.

In addition; in DxRenderer.cpp there is lot of copying back-n-forth between forward and back buffer to enable partial updates and terminal effects.

This proposal is to:

  1. Allow fast presents (60+ FPS) for renderers where it makes sense.
  2. Enable partial updates even if terminal effects are enabled.
  3. Simplify and speed up DxRenderer.

I realize this is probably not high on the list of "need to" stuff but if the retro terminal effects is a thing I think it makes sense to make it render fast enough to support other cool scenarios.

Proposed technical implementation details (optional)

Proposed design

Originally created by @mrange on GitHub (Aug 1, 2020). # Description of the new feature/enhancement The current renderer has a complex workflow in order to render a frame. If one are looking into providing animated backgrounds or terminal effects that require high FPS rates the process is too slow especially since terminal effects disables partial (faster) repaints. In addition; in `DxRenderer.cpp` there is lot of copying back-n-forth between forward and back buffer to enable partial updates and terminal effects. This proposal is to: 1. Allow fast presents (60+ FPS) for renderers where it makes sense. 2. Enable partial updates even if terminal effects are enabled. 3. Simplify and speed up `DxRenderer`. I realize this is probably not high on the list of "need to" stuff but if the retro terminal effects is a thing I think it makes sense to make it render fast enough to support other cool scenarios. # Proposed technical implementation details (optional) [Proposed design](https://github.com/mrange/terminal/blob/pr/mrange/spec/shaderificII/doc/specs/%237147%20-%20Support%20renderer%20fast%20presents.md)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#9958