What’s happened since 2015, by contrast? Many people still swear by their 2015 MBPs, the last model before the touchbar debacle. That Haswell based machine was getting long in the tooth even back then.
What’s happened since 2015, by contrast? Many people still swear by their 2015 MBPs, the last model before the touchbar debacle. That Haswell based machine was getting long in the tooth even back then.
Looking at GPUs, the Voodoo3 came out in 1999 and had a fillrate of around 150 MPixels/sec. Today's GPUs have a fill rate of around 300 times that, which gives an annualized increase of over 30%, for 20 years. This doesn't even consider the fact that GPUs went from highly specialized parts to general purpose compute chips.
Lower power CPUs are also impressive. 20 years ago the state of the art was the DEC/Intel StrongARM. A modern smartphone SOC is around 50x faster than that per watt. If you look at floating point stuff it's more like 1000x faster.
In the same timeframe, we went from a 200 MHz Pentium MMX to a 1 GHz Pentium 3.
...and most if not all of your existing hardware and software would continue to work unchanged, in addition you got new features. I remember going from a 233MHz Pentium to a 2.4GHz P4 and pretty much everything was the same, just faster. The situation isn't so clear now.
To summarise, with the 90s to early 2000s each upgrade really was an upgrade. Now, not so much.
There are solutions, however.
For 16bit Windows software you can try https://github.com/otya128/winevdm which provides 16bit emulation and pass-through of Windows API calls to a mix of Wine and Win32 native calls. It isn't perfect but it can run a lot of Windows 3.x software. You can either drag-drop the executable on the emulator's exe file or use the supplied registry files to install it system-wide.
DOS software tends to work fine under DOSBox or vDos (a DOSBox fork explicitly made for text-based DOS applications).
Now i'm not saying you cannot find cases where stuff do not work, but in my experience most stuff work out of the box or with little tweaks.
IMO they are making their life a lot harder by introducing all those frameworks and platforms every five years or so, but despite that they still make sure that stuff keeps working.
That's the official answer. The more nuanced and correct answer is that DOS (16-bit realmode) apps won't work due to the hardware lacking the functionality --- blame AMD, not Microsoft, for that --- but there's no such limitation for Win16 (16-bit protected mode) apps. Thus, WINE on a 64-bit Linux will handle 64, 32, and 16-bit Windows apps, and there's no emulation unlike with DOSbox and such:
https://www.dkia.at/en/node/180
(Coincidentally, I recently made a comment on another article about the nuanced nature of the word "supported": https://news.ycombinator.com/item?id=19578503 )
Considering that, it's no surprise that 16-bit Windows apps would no longer run on 64-bit Windows, especially since NTVDM was necessary to run them on 32-bit NT based versions of Windows anyway.
It’s funny how backwards compatibility back then allowed us to have massive progress, by making gradual steps forward possible.
These days, where we are seeing less and less real progress, we now hear many programmers claiming we have to sacrifice and shed backwards compatibility if we want further progress. (I’m looking at you Apple and Google!)
Something is very very backwards. And yes, an upgrade may no longer be an actual upgrade.
If you keep re-laying your foundation, then you're also going to have to keep re-building whatever was built on top of it, and that's just a huge time suck.
We have accomplished the ideal of "wei wu wei" to an exquisite degree, but, unfortunately, we got our wei and our wei mixed up.
Tech debt was lower back then.. maybe all of our practices were worse, but the code bases were thousands of times smaller which made up for a lot.
Heck Agile hadn't been invented yet back then. You got requirements and got to design the core technology first. There was no such thing as an MVP hack and all of a sudden you had a back end that had millions of lines of code and 10 layers of abstraction that was all built on a bad design.
In 5-year spans they all had 10x increase in power, from toy single-core CPUs and GPUs that barely moved pixels on screen, to proper multi-core CPUs and GPUs that would rival your laptop of only they had more thermal headroom.
Also, I can't turn my stock mobile into a good desktop like environment, given I have a big screen. I work with LLVM and Haskell, with Emacs or VSCode [lately], with some Blender3D mixed in.
My phone was not built for this. It is a purely consumer device.
Honestly you could go all the way back to 2010 or so. Zen, Zen+, and especially Zen 2 are the most exciting things to happen since Sandy Bridge.
Intel fucked up big time, not only did they let moore's law die, but they repeatedly suppresed one of the only companies capable of carrying the torch further
Edit: before anyone event thinks of trying to reply defending intel, I suggest you look into the increasingly common reports of internal hubris being the core cause of many of their failures. They failed to realize this themselves until they tried pitching customers features that competetors had already sold and were shipping!!
These voodoo boards were a mere joke in comparison to what SGI could provide, so the PC market was catching up, hence it moved fast through the well trodden path.
I mean, all these voodoo and nvidia guys already worked for SGI or similar companies and just brought to the PC market the technologies which were developed for previous decade.
This was a primitive texturing accelerator without T&L, without 2D, just a texturing unit. $400 was even a high price for it.
[1] https://hsto.org/files/c34/cb5/939/c34cb59393e04c77af072be74...
Speed-wise, 3dfx decimated all but the high-end boards at the time. GLiNT and Intergraphs low-end ards were still $3000-$5000 Those were 'real, workstation-level cards' with accurate rendering and all the OpenGL features. On the highest end were the Intergraph realizm cards which were 2X the price. Then you had the SGI systems that started out at 2x times the price of a loaded Integraph Workstation...
The ones that were impressive were the ones that might have been $20k+.
At the time the Voodoo came out the run of the mill SGI workstations did not come with any of the advanced 3D graphics capabilites. Certainly nothing that blew you away. They did stuff like wireframe or unshaded 3D CAD and stuff like that, they had working OpenGL well before a PC did.
But the stuff that blew you away was stuff like the Onyx. Those blew me away when I saw them in the mid 1990s when SGI came to recruit where I went to school. They were $100k+ a year or two before the Voodoo came out.
There were other things they did that was way ahead of their time. I had an Indy for my workstation in 1996 at an internship. It had a webcam that could shoot stills or videos and do some basic video chat. In 1996. People used to fill up the hard drives with video cause hard drives were still so small. Irix had a really nice X Windows UI in the mid 1990s when Linux and the other commercial Unix variants had terrible UIs.
I think Intel could have stepped up their no. of cores with low thermal CPUs a lot sooner. The last radical step up from Intel was 2013 with Haswell CPUs and then after that 2018 with a more lower TDP 4 core CPU which we see now on the Macbook Pro 13".
Any Mac user who needed 'real power' moved to an iMac (or even an iMac Pro) when they outgrew their 15" BMP
Moore's law broke. GHz and those low hanging fruits are gone. I'm using a 2013 MBP. It's a core race now but lots of legacy software that aren't coded for multicore.
Here's the progress over 120 years, and spoiler ... 17 orders of magnitude in computing power:
https://cdn-images-1.medium.com/max/1200/1*zWyqQ2EP83gBcLZHG...
A very interesting observation is that the switch to transistors and integrated electronics does not stand out. It is just part of the curve.
It was an absolutely wild ride! Each machine back then was dramatically dramatically faster than the previous one. It wasn't like today where you'd need a stopwatch to tell. You went from being unable to do something to it being possible.
By 2000 we had most of what we have today other than tons of video available everywhere. In 1990 we were still using DOS and character cell graphics most places. No CD ROM, 10mhz machines, no connectivity other than modems. Lots of people still had monochrome displays in 1990, memory was 640k/1MB/2MB in the early 1990s, hard drives were < 100MB. My 2000 we had 1Ghz machines, DVD/Blu-Ray drives, 1GB of memory, drives were into > 100GB, etc.. 3D graphics was a thing, good video capabilities, high res desktops.
VR is the new 3D TV.
I don't believe it ever become a real thing.
AR on the other hand, has quite a few interesting industrial applications.
The biggest issue with VR is that it's by nature not a passive/low energy thing in it's default mode, it's way closer to sports and work than TV, so more niche as a recreational time activity.
In essence VR competes with activites like soccer, badminton, shooting ranges, lasertag, trampolin parks etc. not general purpose home use TV. If you benchmark it against them VR, on it's current trajectory has a place to exist in garages and arcades.
If VR/MR/AR gets away from being marketed as high energy activity there is a future there, if there is found a way to make headset's superficial or significantly lighter and easy to handle at resolution better than TV screens at the equivalent distance. Powerful wireless (standalone) headsets and couch compatible VR might take off.
I'm prepared to believe that e.g. foveal rendering will give step-wise improvements without more GPU power, but it's not the same as the years of continual process improvements were for GPUs.
Before that, you could double GPU performance for same price every two years or so, now its about 5 or more years, when looking at GTX 970 vs RTX 2070 for example. In my opinion GPUs speed are at least three years behind trajectory because of this market anomaly. Just hope AI isn't throwing stupid money at GPUs again.
Ironically, we've now looped back, and do pretty t-buffer-esque usage with modern DX11/DX12 pipelines.
One of the simplest functions of the T-buffer was to do temporal AA using a fixed function supersampler but also do integration over several frames, which didn't come into being in a modern AAA title until Doom 2016.
For a technology invented in 1999, 3DFx was too ahead of their time.
For a modern example, imagine if the RTX debacle of current gen Geforces destroyed the entire company. Nvidia backed down and released the 16xx series cards, 3DFx went bankrupt instead while everyone else was releasing the 16xx equivalent of that time period (early Nvidia and ATI cards).
... and then they enabled their raytracing API on GTX 1000 series cards, after repeatedly telling them it requires the hardware acceleration that RTX 2000 series cards have. Not only that, it didn't perform all that badly.
So yeah, that new Radeon series is looking mighty nice right now.
Hope I remembered this rightly but I really remember that Geforce 256 being so much better it was like night and day. I stopped playing PC games when I went to university around the Geforce 3 era, so that's when my knowledge of the topic drops off a cliff :D
edit: and now I reached the end of the article it seems Fabien has said exactly this! Note to self: read first then comment
Hence I'm not too worried
And even then its generally meh with how much software is single thread bottlenecked. Meltdown and spectre didn't help things - after they were published I definitely intended to wait for architectures mitigating them before upgrading again.
Heres hoping AMD can keep pushing the envelope this year. A consumer 10+ core chip would definitely have my interest. Not so much to necessarily buy myself, but to drop the floor of the high end even further.
Look at the PL progress in that Voodoo 1-5 timeframe. We started with C/C++, and ended up with C/C++ and a little bit of Java starting to creep in. That doesn't seem terribly impressive to me.
Today, if I told you I was writing a new program (and I am!), there's 10 different languages you might reasonably guess that I'd have picked. Life's way better than when everybody was constantly transistor-constrained.
Pesky universal laws! I want my faster-than-light spaceships and decreasing entropy!
Intel monopolized the market by breaking laws (paid billions in fines). The lack of progress is the consequence.
The progress only slowed down for x86. For the rest of chips it has not: GPUs, mobile SoCs, they all becoming significantly faster with each generation.
Fortunately, with AMD Ryzen the stagnation is ending. Core count in mainstream chips already doubled, after stagnating for decade.
2015 models run on Broadwell and even today the one I use runs everything quite zippy.
Maybe software efficiency might start to matter again at some point.