Hacker News new | ask | show | jobs
by groby_b 730 days ago
It turns out we all could count cycles.

Seriously, this keeps getting overhyped as some gigantic insight when it was really just a consequence of the Pentium having been released in 1993. And with the Pentium, you got both reliable FPU availability (none of the 486SX pain), and the cycle count for FDIV dropped by almost 50% (73->39 IIRC)

Everybody doing 3d gfx knew you needed a perspective divide and was looking at ways to do that cheaply. Interpolation + a long-latency instruction that doesn't block the main pipelines is a fairly straightforward answer.

1 comments

I seem to recall reading about it in one of the demo code articles floating about at the time, similar to this one[1]. But Quake is the one that stuck with me for some reason, and it's easy to link to.

[1]: https://www.lysator.liu.se/~mikaelk/doc/perspectivetexture/

Abrash was a prominent and prolific writer at the time (in addition to be an excellent coder). That might have helped enough to make that example stick for folks.

But also worth noting that that article is dated one year after quake, two years after descent.

Also, lysator... there's a name I haven't heard in a while! Thanks for reminding me.