Skip to content

Restore differential drawing to DirectWrite renderer #778

@miniksa

Description

@miniksa

For some reason, I turned this off in the haste to get things "working" well enough.

But it's definitely a performance hog. We should get differential drawing back inside the DirectWrite renderer.

Most of the provisions are already there with the invalid rectangle, we're just not using them.

I'm not sure if I'll be able to do cell-by-cell differential drawing like the GDI renderer because the more advanced glyphs/runs we support now (like ligatures) might necessitate that we instead just mark "invalid lines" and redraw the whole line. That would be mildly better than the whole screen.

This also would re-enable the use of the Present1 call to the DX infrastructure which is more efficient at scrolling and dirty regions.

Metadata

Metadata

Assignees

Labels

Area-PerformancePerformance-related issueArea-RenderingText rendering, emoji, complex glyph & font-fallback issuesIssue-TaskIt's a feature request, but it doesn't really need a major design.Priority-0Bugs that we consider release-blocking/recall-class (P0)Product-TerminalThe new Windows Terminal.Resolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions