HN user

yunnpp

402 karma
Posts2
Comments225
View on HN

You need to let the compiler know that there are at least 4 or 8 elements to process. This may require padding data and/or having a second loop after the main one that processes the remainder <4 or <8 elements.

You start the post with:

There is an opportunity to use SIMD. SIMD turns those into this: > for (8 byte chunk in bytes) { /* ... */ }

If you actually wrote that loop, there is a good chance the compiler (gcc specifically) will auto-vectorize.

In any case, the more manual SIMD optimizations I have seen require reworking the data altogether, not just processing N elements at a time. For example, instead of packing two 4-vectors into two registers to do a dot product, pack the XXXXs, YYYYs, etc. into 4 vectors and compute 4 dot products for the price of one. That not only requires having 4 vectors to process, but also thinking how exactly they are packed in registers.

I don't know why qurren is downvoted. You really should see if you can get the compiler to auto-vectorize first (possibly padding data structures and loops) before you write anything by hand.

sometimes misleadingly called tone mapping

sometimes is an understatement there. It took me like a decade to get that shit right. Graphics in general seems to suffer from bad explanations repeated everywhere. We need more authoritative textbooks.

Modern APIs make synchronization and resource management a lot more complex. Used correctly they result in better performance; used incorrectly...

That being said, "nowadays" most studios just throw shit at UE5 and get it over with. It's obvious from how terrible many games run that they don't have a rendering engineer on the payroll.

You opened with this:

I've been in ML for ~5 years in multiple FAANGs and I have never seen a rotation matrix.

Presumably you've used SVD, but you've never seen a rotation matrix. So something is cooked.

Maybe corollary: that FAANG job wasn't that interesting.

There is no AI use here. I'm somewhat offended by the suggestion even though I have no relation to the author. Bartosz has been shredding for a long time now. His javascript is also unminified and perfectly readable, making it a great reference for study despite not being advertised on his pages. The animations are all hand-made. The guy is cooking. To suggest that any of it is AI is an utter blasphemy. AI is for noobs, grifters, and low-effort content farmers and Bartosz isn't any of those things.

Probably people who don't register the name. Your comment adds nothing and is the kind that always ends on the bottom of the thread, so you shouldn't take it personally.

Great website, though. I'm fixing my time step all day.

I think it's because it's what every tutorial does, and people just copy-paste that template without giving it too much thought. Just need to dig through the API a little.

At least with SDL3, you don't even need the renderer or the texture anymore. SDL_GetWindowSurface to get the surface and SDL_UpdateWindowSurface to present. That's the more software-graphics you can get from my understanding of the library. SDL still does the double-buffering for you.

The noise from this technique would come from moving lights and world-space disocclusions. Lights don't move erratically in most scenes, objects maybe. But even then, this handles diffuse illumination only, which by its nature has low frequency noise. You won't get noise by shaking the camera violently like in an FPS, for example, which you would from modern ray/path-traced pipelines and I assume is what you're complaining about. So on the list of temporal techniques, this one is probably the most graceful to the noise/lag trade-off.

"Crisp, noise-free, instant graphics" that were also incorrect and did not communicate mood and depth the way GI does. I see no reason to go back.

A very shallow dismissal of my point. Is there no room for depth in your logical analysis?

First of all, we don't know whether this particular bug was already being exploited in the wild. We do know that there is a community of experts looking at the Linux kernel and reporting bugs. Yet this bug had never been reported until now. So either nobody ever looked there (unlikely), or they did and didn't find it. Conversely, the LLM found it with a prompt that even a 5-year old can type. That significantly lowers the effort for the attacker, so much that it changes the game. It is, to use a crude analogy, like deploying firearms in a field traditionally fought with sword and shield. So yes, that's the weapon, and these guys released the stuff to the public with no oversight. That should get some people thinking.

That they're Canadian.

But jokes aside, I'm curious too. Nothing there seems too extravagant, people move abroad all the time. Maybe it then takes them 30 years to realize they didn't have it so bad after all and move back. I'm not speaking for the US here specifically, but more generally. Those longer term stories I think are more interesting.

A good chunk of the reports are false positives (slop) per the researcher's own admission in his talk. I have no issue sharing the bug reports either; the bugs are better fixed.

What I take issue with is that they have basically released the weapon first without thinking about the consequences. And again, if you watch the talk, you'll see how he literally calls others to action to fix the problem. They made a problem and are asking you to fix it, and it will also cost you money, which conveniently goes to them. Any industry with even a semblance of regulation would find this very disturbing.