[PR #15204] Avoid animations during startup #30508

Closed
opened 2026-01-31 09:41:16 +00:00 by claunia · 0 comments
Owner

Original Pull Request: https://github.com/microsoft/terminal/pull/15204

State: closed
Merged: Yes


This fixes 3 sources for animations:

  • TabView's EntranceThemeTransition causes tabs to slowly slide in
    from the bottom. Removing the transition requires you to override the
    entire list of transitions obviously, which is a global change. Nice.
    Am I glad I don't need to deal with the complexity of CSS. /s
  • TabBase, SettingsTab and TerminalTab where using a lot of
    coroutines with resume_foreground even though almost none of the
    functions are called from background tabs in the first place. This
    caused us to miss the initial XAML drawing pass, which resulted in
    animations when the tab icons would asynchronously pop into existence.
    It also appears as if resume_foreground, etc. have a very high CPU
    cost attached, which surprises me absolutely not at all given WinRT.

The improvement is difficult to quantify because the run to run
variation is very high. But it seems like this shaves about 10% off
of the ~500ms startup delay on my PC depending on how you measure it.

Part of #5907

PR Checklist

  • It starts when it should
  • It doesn't "exit" when it shouldn't
    (Scrolling, Settings reload, Bell \a, Progress \e]9;4;2;80\e\\)
**Original Pull Request:** https://github.com/microsoft/terminal/pull/15204 **State:** closed **Merged:** Yes --- This fixes 3 sources for animations: * `TabView`'s `EntranceThemeTransition` causes tabs to slowly slide in from the bottom. Removing the transition requires you to override the entire list of transitions obviously, which is a global change. Nice. Am I glad I don't need to deal with the complexity of CSS. /s * `TabBase`, `SettingsTab` and `TerminalTab` where using a lot of coroutines with `resume_foreground` even though almost none of the functions are called from background tabs in the first place. This caused us to miss the initial XAML drawing pass, which resulted in animations when the tab icons would asynchronously pop into existence. It also appears as if `resume_foreground`, etc. have a very high CPU cost attached, which surprises me absolutely not at all given WinRT. The improvement is difficult to quantify because the run to run variation is very high. But it seems like this shaves about 10% off of the ~500ms startup delay on my PC depending on how you measure it. Part of #5907 ## PR Checklist * It starts when it should ✅ * It doesn't "exit" when it shouldn't ✅ (Scrolling, Settings reload, Bell `\a`, Progress `\e]9;4;2;80\e\\`)
claunia added the pull-request label 2026-01-31 09:41:16 +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#30508