microsoft / microsoft/terminal
WT should start up fast: profile the startup path and trim anything that takes a while
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 105k
- Forks
- 9.6k
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 29
Description
Steps to reproduce
- Click to launch Windows Terminal
Expected behavior
Windows Terminal should be ready instantaneously like windows console, or like Sublime Text.
Windows Terminal can't be slower than windows console.
While Windows Terminal is fast compared with other tools like Visual Studio, or iTunes, it is still not fast enough for a Terminal application.
Actual behavior
It takes too long to startup. It is not ready instantaneously. It's not as fast as windows console.
maintainer note: hijacking OP for task list:
- Use exactly one
ColorPickerFlyoutfor all tabs, and just redirect it to whatever tab activated it. - Delayload the
ColorPickerFlyout. - Add a setting to disable ALL fragments / dynamic profiles. The app catalog search is expensive.
Maybe we can just skip loading dynamic profiles on initial launch, unless we discover that the defaultProfile is a dynamic one...Nah, cause what about for defterm launches that end up matching a dynamic profile.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by profiling the Windows Terminal launch path and measuring the app catalog search used for dynamic profiles. The remaining task is to add a setting that disables all fragments or dynamic profiles without breaking launches whose default profile is dynamic, then verify startup behavior and timing.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop, performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100