I don't miss Windows at all.

This computer used to get bitchy around two dozen Chrome tabs, plus the office software/large document combo of your choice. We're currently at four Chromium windows, one of which has pinned tabs that never unload from RAM, one of which has about forty-seven iStock preview windows in it, and one of which is running Google Play Music that uses Flash and has a memory leak with the throughput of a firehose; GIMP with several large print-quality files open; Audacity with multiple instances of an MP3 I'm chopping up; and an assortment of miscellaneous LeafPad documents and file manager folders and terminal windows.

Some of the improvement is obviously because of the SSD. All operating systems use what's called a "cache file" to expand upon the physical RAM installed. It's just a big chunk of disk that they use the same way I use all the untitled LeafPad documents, as a buffer to hold things it thinks it'll need soon but not immediately. It's especially obvious when you put a laptop to "sleep". What that does is prompt the OS to write the current state of everything plus the contents of active memory to disk, so it can halt all of the spinning drives and stop powering the RAM and so forth, which makes the battery last as long as possible while you're transporting it. It takes a minute to "wake up" when you open the lid because it has to gather up all its notes and figure out what it was doing when it nodded off. Most of the delay is having to spin up the hard drive and locate the temporary file; with a solid-state drive, this computer now wakes up so fast I occasionally get the video signal before the backlight comes on, which just gives me flashbacks to the Game Boy Advance.

I have a suspicion, though, that a lot of the improvement is just that Windows is shit at handling its Z-buffer. Windows versions since Vista have used a set of design guidelines called "Aero". (AERO stands for something, I think, but I can't remember what, probably because it was silly.) It's that frosted glass look on all the title bars and taskbars and such. You can turn it off to save CPU cycles, and in fact the OS will ask you if you want to toggle it off if the computer is struggling, but Windows -- Vista and above, but especially 7 and 8 -- is quite clearly designed to have it on all the time. The non-Aero themes it ships with make it look less like a legit copy of Windows and more like a cut-rate version of "Wimdovvs" you bought for a tenth of the price on eBay from a seller in a country where they use American copyright enforcement notices as disposable napkins. It does evoke a certain nostalgia for the days of Windows 3.11, but it's not really suitable for a modern display.

[The fact that Windows has "design guidelines" at all is probably because they're in competition with Apple. Because Apple produced entire computers, rather than just the OS, they've had a coherent design language for decades. Originally it was "Snow White"; I don't know the project name of the candy-colored translucent design they used on iMacs/iBooks and G3/G4 towers and the original iPods, or the current black/white/brushed metal scheme that they use on new Macbooks and iPhones, but there is a reason all Macs look distinctively alike.

Windows has been trying to make their OS define the system for a couple of decades now, with limited success. Mostly they have just put their foot down about certain aspects of the system and removed the user-controllable settings. They were very proud they'd given Brian Eno a wheelbarrow full of money to compose the startup sound for Windows 95/98/XP, which is why they eventually stopped letting you change it.]

Because the Aero overlays are both translucent and blurred, it's incredibly processor-intensive. In order to draw the background correctly, the renderer has to not only know what window you have on top, it has to know what window or wallpaper is behind it, and then it has to sum and average a bunch of pixels to get the blur effect.

Old versions of Windows used what was called a "stacking window manager", where each window was responsible for itself. Basically, the active window on top was repsonsible for redrawing its own contents when required, and for telling the OS when it had moved or resized, and which other windows had to be redrawn beneath it. If something jammed up, sometimes the top window would retain control of everything and forget to alert the window manager that it had to update the lower parts of the stack. When you moved your active window around and got an explosion of psychedelic tracers in its wake, you knew the entire system was hosed and it was time to punch the reset button.

Newer versions of Windows use a proper 3D window manager, called a "compositing window manager", which uses the same technique as most video games for figuring out what to draw on the screen. Windows does not look particularly 3D, but inasmuch as the Aero scheme requires the draw routine to understand what things are "under" and "over" other things, and to render the visible ones with various degrees of alpha transparency, it needs a similar organizational system for keeping windows stacked up in order. This is usually referred to as a "Z-buffer" -- the screen is the (X, Y) plane, so keeping track of which things are deeper "behind" that plane is logically considered the Z axis. Making use of "3D" algorithms to draw the windows in order is why Windows versions past Vista are faster when you have a 3D accelerator card, even though such cards are never used to augment the actual computational power of the CPU in normal tasks. The CPU offloads the process of keeping track of all the damn windows like a lawyer throwing its inbox at its callow paralegal.

Looking at the system requirements for Windows 7, I suspect that it mainly uses brute force to figure out draw order. It's easy enough to get the 3D accelerator to do simple rescaling/transform operations like the pretty animation that happens when you hover the pointer on a taskbar button or Alt-Tab through your running applications, but the degree to which this computer at least slowed down when flipping through multiple windows -- and the degree to which it worsened with every additional thing open -- suggests to me that Windows was redrawing absolutely bloody everything in the back of its head every time I did something. before refreshing the screen. It objected especially to Chrome, which has cleverly made itself near-unkillable by running each tab as its own separate child instance inside a parent window.

Linux is behaving much better. One, it doesn't look like ass with all the transparency turned off. I'm running Lubuntu on both laptops, because I don't actually need much from the OS and if I do I can just apt-get it anyway. Linux can mimic Aero just fine; the full install of Ubuntu 16.04 has a lot of fancy transparencies in its native themes. Lubuntu is specifically meant to be lightweight, and by default it doesn't. I have admittedly tinkered with a lot of the colors and some of the icons, but only because I'm fussy about things matching my pretty fractal wallpapers.

And two, Linux divides your running apps not just into "windows" but into "desktops" or "workspaces". Lubuntu 16.10 gives you four to start with, arranged in a linear loop where hitting 'next' on desktop 4 takes you back to 1. (You can change it, and arrange them how you like on both the X and Y axes, but I haven't bothered.) My kajillion Chromium tabs and large media editing programs are split across four workspaces, which means that whichever one I'm using, Lubuntu doesn't have to draw the other three at all. The stuff on them is still running -- if I set something to download in the browser or render in an audio or video editor it'll keep chugging away, or if I have Google Play Music running it will keep playing onward, oblivious to the fact that I'm not bothering to look at it while it talks to me. You can also set a window to be accessible/active from all workspaces, which is handy for chats. It just stashes the unused draw buffers somewhere, and doesn't think about them unless I tell it to.

I also discovered while I had this thing in pieces that there is an additional RAM slot open near the front. It's not exactly a priority, but if anyone has the burning urge to send me a $20 DIMM, it takes these. The motherboard has 2GB native and sadly can only address 4GB total, so the larger one wouldn't do me any good.

Comments

Popular posts from this blog

The mystery of "Himmmm"

Fun things to feed rats