←back to thread

752 points dceddia | 2 comments | | HN request time: 0.431s | source
Show context
matwood ◴[] No.36447529[source]
People bring up cruft and lack of optimization, but leave out the user demand for features.
replies(1): >>36447561 #
mrkeen ◴[] No.36447561[source]
Did notepad and command prompt really get that many more features?
replies(1): >>36448064 #
vel0city ◴[] No.36448064[source]
Command prompt (now Terminal)? Yes, tons. A massive amount of new features really.

Notepad? Kind of. Newer UI library so it handles display scaling a lot better. Handles different line endings and encodings much better now. Handles the system UI dark mode. The interface supports tabs.

replies(1): >>36448558 #
moralestapia ◴[] No.36448558[source]
>Command prompt (now Terminal)? Yes, tons. A massive amount of new features really.

Can you name a few that could explain the 1,000x performance cost?

Also, have you heard the story about the guy who told MS that their terminal was shit and could be fixed, only to be ridiculed by a fleet of "super elite 500k/year engineers" that in the end turned out to be ... wrong?

replies(1): >>36449029 #
vel0city ◴[] No.36449029[source]
Display scaling support

Tabbed interface

Support for command interpreters other than just CMD

Multiple profiles for different interpreters and settings

Support for a much wider range of console control characters and terminal emulations (ssh'ing into linux boxes works really well)

Way better resizing support

Clickable URL detection

More (and customizable) keyboard shortcuts

Support for background images

Support for transparency

Configurations as easy to transfer JSON files

Copying text is a way better experience

Just a few of the features that I use all the time. I can't stand using cmd.exe anymore, its an absolutely miserable experience in comparison.

replies(4): >>36449873 #>>36450918 #>>36452607 #>>36453376 #
lhecker ◴[] No.36449873[source]
Unfortunately, none of these are responsible for the startup delay. Since version 1.18 effectively ~90% of the startup duration is spent starting up WinUI and having it draw the tab bar and window frame. It still needs a second to start. If it still used GDI like Windows NT did, it would start in well under 100ms even on an extremely old CPU.

Fixing this situation is essentially impossible because it requires rewriting almost everything that modern Windows is built on. Someone else in this thread said you couldn't sell 4 quarters worth of work to fix this, but the reality is that it requires infinite quarters, because it requires throwing away the last 10 years of Windows shell and UI work and that will never happen. You could paper over it by applying performance spotfixes here and there, but it'll never go back to how it could be that way. At a minimum, you'd essentially have to throw away WinRT which has an almost viral negative impact on performance. Never before have high latency, but still synchronous cross process RPCs been that prevalent and everything's a heap allocated object, even if it's within the same binary. It's JuniorFootgunRT.

replies(1): >>36450447 #
1. vel0city ◴[] No.36450447[source]
> none of these are responsible for the startup delay

> effectively ~90% of the startup duration is spent starting up WinUI and having it draw the tab bar and window frame

I listed "Display scaling support", "Tabbed interface", and "transparency". Is none of that related to WinUI and drawing the tab bar?

replies(1): >>36450690 #
2. lhecker ◴[] No.36450690[source]
Yeah, you're right, they're related to WinUI. But what I meant is that such features aren't inherently expensive, they're just made expensive due to the choice of UI framework.

Display scaling is very fast in GDI apps and has no impact on launch time, a tab bar is essentially just an array of buttons (minimal impact on launch time?) and transparency is a virtually cost-free feature coming from DWM. I wrote a WinUI lookalike using its underlying technology (Direct2D and DirectComposition) directly one time and that results in an application that starts up within ~10ms of CPU time on my laptop, quite unlike the 450ms I'm seeing for WinUI. That is including UIA, localization and auto-layout support.