Re:Now that computers have more than 4MB of memory, can we g...
by paranoidrobot on Tuesday April 12, 2022 @02:09AM
(#30999190)
> Every last "terminal" would be displaying identically the same seconds pixels
Playing Windows Engineer's advocate for a moment:
Yes, you could potentially render out the pixels in some shared buffer, and make that buffer available to every session, or perhaps copy it 100x.
That's data crossing security boundaries, so could perhaps be a vector for compromising a session.
Then there's the consideration for people with different font sizes for UI - say someone who needs large fonts or high contrast modes.
Don't forget different Region settings. Not everyone's dates and times are formatted the same.
Also different taskbar configurations - maybe they've got the taskbar snapped left/right, or have the taskbar height set differently.
You've rendered this pixel buffer, but Session N's UI thread has locked up because Bob is using this application written by a work-experience kid 10 years ago, and it uses the UI thread to do CPU intensive or IO work. So, while it's waiting for a response from a server on the other end of a congested ISDN line on another continent, it blocks everything on the UI from updating.
So now the central time rendering session might have to wait, causing everyone's time to stop updating, at best, or at worst, completely lock up.
Most of these things have solutions, I guess - but I'd say the MS engineers decided "Yeah, nah" on that.
Re:Now that computers have more than 4MB of memory, can we g...
by ncmncm on Tuesday April 12, 2022 @12:29PM
(#31004836)
It is obvious that making up a protocol to notify all the instances is a non-starter. Sharing a read-only memory page that has nothing but the pixels in it is trivial, decoupled, and provably not a security hole. Probably there are already such pages in use that the pixels could be added to. Any Terminal that has customized its seconds display would not be obliged to participate. And, there is no need to interrupt a busy core to update the seconds display; the update can wait until it is not busy.
In any case, they could each render the ten digits, or even 61 digit pairs, ahead of time, and blit them into place as needed.
But what keeps Windows users from having nice things is that they all, without exception, depend on the whims of those MS engineers (not to say hacks) who get to decide, "Yeah, nah" on their behalf.
Re:Now that computers have more than 4MB of memory, can we g...
by throwaheyy on Thursday April 14, 2022 @11:55AM
(#31028664)
Caching of the rasterization is already done at the font level. Attempting to cache the rendered seconds (even ignoring desktop preferences as you say, which is already a non-starter) seems like an engineering problem that massively outweighs saving the few dozen bytes for that portion of the screen
Re:Now that computers have more than 4MB of memory, can we g...
by m1kal on Tuesday April 12, 2022 @07:11AM
(#31001012)
So animated mouse pointers are OK, blinking cursor in command prompt is OK, Teams starting with the system is OK, but counting seconds is overkill for Windows?
I would probably not display seconds anyway even if I had a choice, but this explanation seems strange.
Re:Now that computers have more than 4MB of memory, can we g...
by tinus_hn on Tuesday April 12, 2022 @08:07AM
(#31001459)
That’s because it’s on the blog on which Raymond looks at a common annoyance on the Windows platform and makes up excuses for it. Sometimes they make sense, sometimes they might have made sense decades ago, oftentimes it’s just bullshit and the real reason is just an off-the-cuff decision by some random intern in the 80s.
Windows already has mechanism for streamlining the visuals when the desktop runs through RDP and updating one small rectangle on the real screen once every second costs basically no resources at all, especially considering the typical Windows use case where everything runs through multiple layers of virtualizations while the virusscanner is wasting as many resources as it can get away with.
Re:Now that computers have more than 4MB of memory, can we g...
by ssl232 on Tuesday April 12, 2022 @02:50AM
(#30999466)
KDE allows this, but I don't enable it not because of its (unnoticeable) detriment to performance, but because the extra visual stimulus is distracting.
Re:Now that computers have more than 4MB of memory, can we g...
by 0xdeadb00f on Tuesday April 12, 2022 @03:10AM
(#30999570)
I have seconds in my status bar. It isn't distracting at all. My brain filters it out just the same when I'm focused on other stuff open on my computer
Re:Now that computers have more than 4MB of memory, can we g...
by iforgotpassword on Tuesday April 12, 2022 @03:11AM
(#30999577)
Eh, it's not that bad. i3 does it every five seconds by default, along with other status information, but to me that bar is small enough to not draw my attention if I don't need it. Actually I even often miss when it changes the color of some text to notify me of a critical situation, eg available memory dropping below 500mb.
Re:Now that computers have more than 4MB of memory, can we g...
by throwawaylinux on Tuesday April 12, 2022 @02:59AM
(#30999503)
> Any periodic activity with a rate faster than one minute incurs the scrutiny of the Windows performance team, because periodic activity prevents the CPU from entering a low-power state.
The power savings available in very low latency sleep states has improved a great deal in CPUs (even desktop and server ones since power saving ~= performance with DVFS and turbo modes). Such that 60s should be well beyond the knee of the curve. A few seconds possibly gets you the vast majority of saving (I'm less sure about PCI/GPU implications).
That said if it's an aspirational goal that's great. But I'm very surprised that windows would not have a lot of periodic activity at intervals below 60s. Even when you're talking about an unrealistic system that has no network connection or activity.
Re:Now that computers have more than 4MB of memory, can we g...
by winrid on Tuesday April 12, 2022 @02:40AM
(#30999393)
Such a weird argument for something that would obviously be opt-in. Also I doubt said timer would have a worse energy impact than having a browser open with a JS runtime all the time.
Re:Now that computers have more than 4MB of memory, can we g...
by ivanche on Tuesday April 12, 2022 @05:43AM
(#31000488)
Just install 7+ Taskbar Tweaker [1] and check "Display seconds on the tray clock". As a side bonus you get full control of your taskbar. Works like a charm.
See, this is why Windows users can't have nice things.
Every last "terminal" would be displaying identically the same seconds pixels, but Microsoft would render them a hundred times over.
They also don't blink their cursor for the same dumb reason (rather than because blinking the cursor is itself dumb).
Playing Windows Engineer's advocate for a moment:
Yes, you could potentially render out the pixels in some shared buffer, and make that buffer available to every session, or perhaps copy it 100x.
That's data crossing security boundaries, so could perhaps be a vector for compromising a session.
Then there's the consideration for people with different font sizes for UI - say someone who needs large fonts or high contrast modes.
Don't forget different Region settings. Not everyone's dates and times are formatted the same.
Also different taskbar configurations - maybe they've got the taskbar snapped left/right, or have the taskbar height set differently.
You've rendered this pixel buffer, but Session N's UI thread has locked up because Bob is using this application written by a work-experience kid 10 years ago, and it uses the UI thread to do CPU intensive or IO work. So, while it's waiting for a response from a server on the other end of a congested ISDN line on another continent, it blocks everything on the UI from updating.
So now the central time rendering session might have to wait, causing everyone's time to stop updating, at best, or at worst, completely lock up.
Most of these things have solutions, I guess - but I'd say the MS engineers decided "Yeah, nah" on that.
In any case, they could each render the ten digits, or even 61 digit pairs, ahead of time, and blit them into place as needed.
But what keeps Windows users from having nice things is that they all, without exception, depend on the whims of those MS engineers (not to say hacks) who get to decide, "Yeah, nah" on their behalf.
So, it only needs to be rendered once, and then blitted in. Or, you can pre-render ten digits, and blit them up as needed.
I would probably not display seconds anyway even if I had a choice, but this explanation seems strange.
Windows already has mechanism for streamlining the visuals when the desktop runs through RDP and updating one small rectangle on the real screen once every second costs basically no resources at all, especially considering the typical Windows use case where everything runs through multiple layers of virtualizations while the virusscanner is wasting as many resources as it can get away with.
The power savings available in very low latency sleep states has improved a great deal in CPUs (even desktop and server ones since power saving ~= performance with DVFS and turbo modes). Such that 60s should be well beyond the knee of the curve. A few seconds possibly gets you the vast majority of saving (I'm less sure about PCI/GPU implications).
That said if it's an aspirational goal that's great. But I'm very surprised that windows would not have a lot of periodic activity at intervals below 60s. Even when you're talking about an unrealistic system that has no network connection or activity.
https://www.groovypost.com/howto/make-the-windows-10-clock-d...
[1] https://tweaker.ramensoftware.com/