News for hackers. Stuff that matters.
Re:Now that computers have more than 4MB of memory, can we g... by ncmncm on Tuesday April 12, 2022 @01:31AM (#30998960)
> "So once a second, a hundred stacks would get paged in so that a hundred taskbar clocks can repaint."

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).

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 Tuesday April 12, 2022 @01:56AM (#30999110)
Every user necessarily needs their own frame buffer. Or they’d all be looking at the same screen.
Re:Now that computers have more than 4MB of memory, can we g... by ncmncm on Tuesday April 12, 2022 @11:44AM (#31004215)
Obviously. But the seconds part is the same, unless they have customized its typeface or background.

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.

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