However, if suddenly you have a million threads then this optimization doesn't work anymore. Sure, the concept of ThreadLocal still works, but in practice you'll end up creating a million of these heavy objects - something you wanted to avoid!
2,544 karma · joined January 7, 2013
Used to be a demoscener: http://www.pouet.net/user.php?who=171&show=credits
However, if suddenly you have a million threads then this optimization doesn't work anymore. Sure, the concept of ThreadLocal still works, but in practice you'll end up creating a million of these heavy objects - something you wanted to avoid!
Additionally, there's just a lot of code being generated for common containers. It would probably be simpler and smaller to create unsafe containers that just shift pointers to boxed structs around or something, but I haven't gotten around to that yet.
Actually not sure if I'll get around to finishing it, but currently a WebGPU-based renderer + scene graph + softsynth fits in about 30k compressed. That's unfortunately a bit big, but we'll see.
If I don't get around to finishing it I'll probably open source the code anyway, just as a fun starting point for others maybe.
A quick Google found that this tutorial shows the technique off a bit: https://www.atmosera.com/blog/jounce-part-15-asynchronous-se...
Yes, the claim is "fearless concurrency" but you'll still deadlocking mutexes and once you're heavily into async you need to start using language constructs that feel REALLY awkward, like pinning, runtime checks like RefCell, and so on.
IMO if Rust could make that whole aspect of the language more elegant, it'd be much easier to scale up to a larger org.
As far as I can tell the blog author didn't include the 91MB file they used to test the compressors with, so I couldn't give it a try to see how it holds up. I guess 91MB would be too big anyway.
Going further back in history there's also this thing called Film Noir that further disproves the argument that digital cameras (or, more narrowly, Netflix) is the origin of the high-contrast look.
I mean, even the most celebrated film of all time, Citizen Kane, is celebrated among other things for its stark contrast and that was shot in 1941 or thereabouts.
However, it's pretty much guaranteed that both the old and new scenes mentioned in TFA have a _ton_ of extra lights and flags just out of camera. If anything, the article is pretty naive in assuming that they just walked up to some diner and started filming using available daylight.
For instance, the ARRISCAN film scanner goes up to 6k for 35mm. They could go higher, but there's no point.
Additionally, you seem to be asking a lot of leading questions but not volunteering any opinions of your own. Is there something you'd like to share?
Additionally, film does not have more dynamic range than digital. Take the latest sensors used by the Arri Alexa cameras for instance, they have a range of 17 stops. This is better than regular 35mm film. [1]
[1] https://www.arri.com/en/camera-systems/cameras/alexa-35#2730...
However, all post-production happened in standard definition, so all special effects, editing and colour correction would have to be redone, which is incredibly expensive.
They did that with TNG, but since those blurays didn't sell enough, they didn't bother doing the same for DS9/VOY.
On the Amiga, you didn't have a desktop per se, but a Workbench. A Workbench has drawers.
The analogy breaks down somewhat, since I can't pull down my real-world workbench to reveal a red and white bouncing ball. Unfortunately.
Not to take away from the effort btw, but I wish they'd bundle their efforts somehow.
It's the difference between a Rust game engine like Amethyst which spent years being rewritten all the time and Bevy, which has a community and a clear focus and are just getting it done. The argument can be made that Bevy needed Amethyst to exist in order to figure out what to do, though. Oh well.