4 ms·
People forget that the entire early MacOs, GEOS, windows DE's used to run in a matter of a couple hundred K. The entire system requirements of a windows 2k PC
by StillBored 4y ago
People forget that the entire early MacOs, GEOS, windows DE's used to run in a matter of a couple hundred K.
The entire system requirements of a windows 2k PC were 64M of ram, and yes it could display a background picture on a HD+ level display and pretty much do everything that is possible on a modern PC that your average user is doing. The darn thing was 32-bit, meaning that the apps could never allocate more than 2G (or 3G on a tuned machine) of address space and it was enough, even for video editing/etc.
Back when FF went 64-bit/multi process I groaned because having a fixed 2G limit, which seemed terrible at the time, created a nice upper bound on how much CPU+RAM it would consume so the developers assured it ran reasonably well with those kinds of system resources. Now the sky's the limit, and if you dare limit its resource utilization via cgroups/etc it won't work 1/2 the time.
And of course its your fault if you don't have a 16 core, 32G PC. To run a text editor and a chat application.
- II2II 4y agoI agree with most of what you have to say, yet we have to be careful with comparisons like: > People forget that the entire early MacOs, GEOS, windows DE's used to run in a matter of a couple hundred K. The simplest example is to consider graphics. Early systems had limited resolution, limited colour depth, expected applications to repaint regions when necessary, and only sometimes offered primitive forms of graphics acceleration. Most people will want to see improvements on all of those fronts, yet has to be paid in memory use. Should the jump be as big as it has been? Certainly not. On the other hand, using the earliest of GUI's as an example is misleading since the improvements I mentioned will require about 1,000 times the memory.
- inetknght 4y ago> On the other hand, using the earliest of GUI's as an example is misleading since the improvements I mentioned will require about 1,000 times the memory. 800x600px @32b was my favorite resolution & depth for a long time. 800x600x32/8 (800 pixels x 600 pixels x 32bits per pixel / 8 bits per byte) = ~1920000 bytes. Call it just under 2MiB. But 4K? 3840 x 2160 x 32b / 8 = 33177600 ... or just around 32MiB... around 16x the size. No, it does not require 1000 times the memory. It requires only about 16x the memory. Where memory is being lost is in massive amounts of inefficient languages copying and duplicating huge swaths of images (and tons of other datas too) that will never or rarely be used. Want a transparency on the window? Well now you have your image, the background image, and the real blended image. Want to show bunches of pretty little custom images? Each of those comes in, and some of them aren't even visible! But they still need to be loaded up. And that doesn't even talk about the slowness of the application. Tons of IPC communication going on to enforce sandboxing, instead of just directly doing whatever it is that needs to be done. In-process multi-threading models with inefficient languages exacerbate it. Inefficient design with huge layers of abstractions to support a fifty bajillion different ideas for how a user might want those pictures shown (oh, you want big icons but another user wants little pictures; you want light colors, another wants dark colors, and a third wants custom colors...; different fonts, different etc...). And that's just looking at images. What about datas? Gotta hold all of those APIs and telemetry somewhere. Gotta cache them so you don't have to request it again. Gotta hold it in memory because disks are slow. Gotta keep all of the metadata too. Might as well put it into a sqlite3 database and make it easier to manage! Or maybe the developer can just store it all in a linked list and look it up as needed... And what happens when you run out of memory? Goodness that's annoying and difficult, especially in a terrible language, so just don't worry about it. Just allocate something new and let the garbage collector... collect your garbage that you've strewn all across the user's machine. Who cares if it's "slow" as long as your application doesn't crash? Need to render a new image? Best to render it from a template image, so now you're holding even more images and also allocating new ones every time you need to render stuff. Except that it's all done in CSS by the kids these days, so the template image isn't even an image... it's text... to be rendered by the CPU. Yes, cool. No, not fast. All of that ends up being on top of terrible "cross-platform" frameworks to make it cheaper (to the developer) to build the damned software. Why are computers so slow and bloated these days, anyway? It's certainly not because computers are slow and bloated.
- musicale 4y agoSo you've been running an electron "desktop" app, perhaps connected to microservices running on kubernetes in the cloud? Modern system architecture is an exercise in doing less with more.
- StillBored 4y agoWhich is why I pointed out Win2k, which can drive multiple 32-bit displays with at least HD resolution. I know this because I used to do it with multiples of those 21" trinitron (woot the long dead physical dell outlet store) monitors that were 2048x1535 connected to my work computer. Sure today you can do 4k, but a not insignificant number of people are still running 1080p displays, which are actually fewer pixels than I had 20+ years ago. What you get with a modern machine is aero peak functionality, and transparency, but the ram usage doesn't magically go down if you turn it off on something like win7 where the option existed. Also, its funny that we could realtime repaint windows on a 486 with barely noticeable (if at all) lag, but we can't do it for a few dozen applications on a 5Ghz machine with dozen cores if there happens to be a requirement to repaint part of a window under a transparent one? Even so, if a full scale image (not that its even required for a peek type function) of a occluded window is needed, whats the storage requirements? A few dozen MB per application? But, that's not really how these applications work, when you peek/zoom/etc a window its getting redrawn in realtime. Otherwise you would see stale versions of windows that aren't visible, and if you notice that isn't what happens. Depending on settings (at least in KDE) there is a couple accuracy options that can be tuned which affect the repaint lag during zoom/peek/etc functions.
- hnlmorg 4y agoI can’t think of any graphics cards that could do 2048x1535 in 2000. Maybe several years later…much later…but even then you definitely wouldn’t be running that on a 21” screen because everything would have been tiny and scaling wasn’t a thing.
- justsomehnguy 4y agohttps://www.matrox.com/sites/default/files/millenium-g450-user-guide-en.pdf https://www.matrox.com/sites/default/files/millenium-g450-us... page 47: Maximum display resolution Aspect ratio Main display *† Secondary display † 4:3/5:4 (traditional) 2048 × 1536 1600 × 1200
- StillBored 4y agoI mean, how many times can you be wrong in the same two sentences. I think people on this board have mentioned monitor resolutions went backwards for a decade... I'm fairly certain (but not entirely sure) it was a dell p1110, which I picked up about a dozen of for the company I was working for in late '98 or maybe '99. Definitely a 21" flat panel trinitron with a dell brand. There are various comments online about people buying the GDM-F520/etc and similar monitors based on the same tube in the late 1990's. And the graphics card wasn't the problem (although I can't remember if it was a pair of matrox'es or nividia's driving them). The problem was that at 2k it didn't like to remain converged over the entire screen all day long, so about once a day I would adjust the edge convergence. Which is probably why the recommended res (vs the max) was a notch lower, but IIRC it still had convergence issues. And you would apparently be shocked to know even win3.1 could do font scaling/etc, although I ran native 1:1 in NT4 then w2k because back then my eyes were good enough to notice the color fringing caused by the monitor going out of convergence. You might also be surprised that i have a 17" LG I purchased in ~97 (might have been 96) that I ran on my personal computer at 1600x1200 still sitting in my attic (would go check the date code, but lazy) . But, that's just a boring monitor, my boss in ~94 had an IIRC Ikegami (23/25" don't remember, but it was "huge" when i had a 15") that was doing 2k (or maybe a 19xx, it was weird) attached to some funky graphic card. The wikipedia page mentions there were trinitrons in the 1980's doing 2kx2k. So, maybe you didn't have one in your house but there were plenty in professional settings which were concerned about graphics accuracy, or having a lot of screen area. I was in the latter, we were attaching multiple heads (and not just my cheazy second herc for turbo debugger) to our customers in the mid 1990s with early versions of NT. (Random link about what I think is the same tube FD Trinitron® 0.22 Dot Pitch 2048 x 1536 @ 85Hz CRT https://forums.anandtech.com/threads/dell-21-monitor-p1100-is-it-a-sony-compare-to-f500r.507463/ https://forums.anandtech.com/threads/dell-21-monitor-p1100-i... I remember having the conversation with a buddy (who worked at a film shop you have probably heard of) and had the sony branded ones where he complained about the color accuracy, but said they didn't have convergence problems, so I blamed it on dell getting the lower quality ones.).
- hnlmorg 4y ago> The entire system requirements of a windows 2k PC were 64M of ram, It was 128MB (and XP doubled that. Which was on of the reasons I abandoned Windows XP for Linux) > and yes it could display a background picture on a HD+ level display and pretty much do everything that is possible on a modern PC that your average user is doing. Very very very few people had HD displays back then. I had a 19” display that could do 1024×768 and I was the envy of a few of my friends. Higher resolutions came a little later. Also remember that icons were 8bit and 64x64 pixels. Desktops didn’t support widgets (unless you turned on ActiveDesktop but that ran like crap on even powerful machines of that era) and so on and so forth. And that’s just the desktop. Everything was less secure back then. Telnet and rcp were still the norm. SSLv3 was still common. Keys were a lower bit length. There wasn’t as much bounds checks or any of the other stuff that have made our platforms more secure. Sure there’s a lot of waste too. Like writing applications in browser sandboxes rather than native code. But a lot of the reason systems back then were leaner was because they needed to be rather than because modern systems are wasteful. It’s like the whole Y2K problem: why store a the year as two digits? Because memory was constrained and now it isn’t. Source: was a software developer for Windows 2000, now I write software for Linux.
- dTal 4y ago>Very very very few people had HD displays back then. I had a 19” display that could do 1024×768 That's HD! Slightly better in fact: https://en.wikipedia.org/wiki/720p https://en.wikipedia.org/wiki/720p And, for what it's worth, as I recall 1600x1200 CRT monitors were high end but not unusual at all in the mid-2000s, and Win2000 and XP drove plenty of them in their time.
- hnlmorg 4y agoIt’s not HD by any of the conventional definitions of HD and only just meets the bare minimum of HD in real terms. Also mid-2000s is 5 years after when I was talking about. Which is a really long time in computing terms. By then most people were running XP too. But as others have pointed out, there were graphics cards and monitors that could do much higher resolutions also available at that time.
- 4y ago