Hacker News new | past | comments | ask | show | jobs | submit
What this toy shows you is that both points in your original comment are moot.

  1. "fucking over my battery consumption and asking for my GPU to spin" - it renders frames on demand
  2. "2D sucks to make, 2D eats half of your frame time by just existing and slicing those triangles" - frametime is in the microseconds when a frame does need to be rendered, and no triangles need to be sliced because shaders exist.
Let me remind you of what we were arguing about - whether or not you can render UI with a GPU API, without blowing up your computer. I would love to hear how handling taps, adding a mobile-friendly layout to the demo, handling selection or accessibility would change the calculus on that.

In the midst of your ad hominem, your argument seems to have changed from "don't use a GPU API" to "making a production grade UI library is hard", which I'm more than happy to give you.

You just don't get it, do you? What I'm saying is that your approach can _never_ lead to a good UI toolkit. You've made a funny toy that renders three boxes that can never work in the real world. Not only is your frame time in the milliseconds on a browser (on a 5080 too), you've made a toy prototype that covers 1% of the necessary features, claimed that it's entirely complete and declared yourself winner (and that implementing the rest would have zero impact on that performance, lol)

It's now been three times you ignore the reality of the world, loudly proclaim yourself winner then proceed to drop 90% of what is necessary. No shit, you can draw empty boxes in 2ms and badly shape text in 3.

>I would love to hear how handling taps, adding a mobile-friendly layout to the demo, handling selection or accessibility would change the calculus on that.

Because now for half of these, you are involving the CPU again, with endless back and forths. Keep repeating it until you have something that works and congratulations, you have more or less exactly what browsers do today.

Considering the hubris, the loud proclamations that you're right and that the whole world around you is wrong, the complete ignorance of the state of the art and the insistence on badly reimplementing things from scratch, the "you don't need those features actually", let me guess, game engine developer?

His approach is actually correct (well, aside from doing it in the browser). I wrote a custom, fully from scratch Vulkan UI rendering engine, works more or less exactly as described above. Crazy efficient and performant. Removing VSync I can hit ~100k fps on a dingy 4 year old GPU. For instance in benchmarking opening a window is a _sub microsecond action_. Doing the same in Qt is what... milliseconds? Literally? Also all of the things you described is because... browsers are bad. Or people are incompetent. Drawing fonts is a single draw call and yes, you can and should cache absolutely anything. All the fonts I used are 100% cached. Oh and btw it isn't a toy UI framework but fully production ready.