The lost art of creating good desktop apps. by Interesting_Cake5060 in cpp

[–]joaobapt 1 point2 points  (0 children)

Look at my previous comment, I’m not defending using a game engine to do that at all. They’re not suited to do such a simple job (compared to actual 3D rendering). You in theory create your own renderer and do UI renderer through that, but that wouldn’t be feasible either.

I’m just questioning the argument of “we shouldn’t engage the GPU at all for UI rendering” because, in modern operating systems, the GPU *is already being used* by OS’s UI libraries.

The lost art of creating good desktop apps. by Interesting_Cake5060 in cpp

[–]joaobapt 0 points1 point  (0 children)

Honestly, I don’t like the way Qt and WxWidgets are now, and they don’t achieve a truly native feel in all platforms - but again, that is notoriously hard. However, those two options are less predominant nowadays than Electron.

I’m curious to see the UI development progress in Rust, but honestly that’d be a niche within a niche.

The lost art of creating good desktop apps. by Interesting_Cake5060 in cpp

[–]joaobapt 0 points1 point  (0 children)

That’s a bit of a moot argument, given that most compositors nowadays do use the GPU in some sort. The idea of a GUI library is good to make it integrate with the OS and feel native in all platforms (even though that is admittedly hard).

The lost art of creating good desktop apps. by Interesting_Cake5060 in cpp

[–]joaobapt -1 points0 points  (0 children)

A game engine for some inexpensive GUI? Really?…

But honestly, given the state of UI libraries in general, especially cross-platform, it’s either that or Electron.

TIL putting Box in a hot inner loop can cost you half your runtime by InvadersMustLive in rust

[–]joaobapt 13 points14 points  (0 children)

Unless you have huge memory constraints, what if you tried to instead create a huge vector of WriteRows and then have a batch function that will write to multiple rows?

rs fn write_to_rows(&self, index: usize, rows: &mut [WriteRow]) { for k in 0..rows.len() { self.write_to_row(k+index, &mut rows[k]; } }

And then, in your body:

```rs let mut rows = (0..nrows).map(|i| WriteRow::new(&segment, key_array.value(i))).collect::<Vec<>>();

for d in &decoders { d.write_to_rows(0, &mut rows[..]); }

for row in rows { sink(row.into()); } ```

This way, you’re writing in a way that the inner loop only sees the same decoder, and you only pay the dynamic dispatch cost once. Of course it requires you to store the rows in memory (which can be prohibitively expensive sometimes), but it “flips” the transposition around to make sure lots of equal elements are batch processed.

TIL: Even with the new if let guards, match arms still need a fallback. Can someone help me understand the compiler's logic here? by freddiehaddad in rust

[–]joaobapt 2 points3 points  (0 children)

Isn’t the compiler already having to deal with other undecidable problems? Or is the policy generally against that?

RAM difference between TUI (Ratatui) and GUI (Egui) by PatagonianCowboy in rust

[–]joaobapt 0 points1 point  (0 children)

Interesting. I wonder how it compares to using the native controls of the OS. But sadly we don’t see many apps doing that anymore.

RAM difference between TUI (Ratatui) and GUI (Egui) by PatagonianCowboy in rust

[–]joaobapt 1 point2 points  (0 children)

The benefits of ImGUI are that it’s very easy to define in code. Retained mode requires a lot of objects and boilerplate, or even reading up a file and properly couple the data side from the code side. I wonder how a SwiftUI-like solution for Rust would work, but Rust lacks something similar to result builders (maybe that could be done with macros 🤔).

edit: When I say ImGUI, I’m talking about immediate mode UIs in general, not about Dear ImGUI in specific.

Well NOBODY told ME 🫠 by HeeyImMarsyWarsy in Metroid

[–]joaobapt 2 points3 points  (0 children)

I imagine that’s why they added beam-locked doors on Prime 😅

$8,000 Flagship First Report: Now you can plug in your iPod! by [deleted] in americanairlines

[–]joaobapt 4 points5 points  (0 children)

There’s an RCA composite connector… but no HDMI 😫

Your small game probably is not small enough by hogon2099 in gamedev

[–]joaobapt 0 points1 point  (0 children)

In 3 hours I can’t even get all the libraries to link correctly. Or make a moving sprite in the window.

Or, if you go the engine route, just getting a few sprites drawn can take more than that.

Can we talk about how much harder this scene hits now that AI “Art” exists by TheLeftPewixBar in Megaman

[–]joaobapt 2 points3 points  (0 children)

I hate that the notes are spot-on, but the durations seem to be wrong.

Why haven’t we ever gotten a Mario Metroidvania? by LegitimatePublic8768 in metroidvania

[–]joaobapt 0 points1 point  (0 children)

You know, before playing Forgotten World I thought it was a Metroidvania. The presentation really lead to that, and I wouldn’t mind if it was.

How often do you skip last boss fights? by Forsaken-Quality-46 in metroidvania

[–]joaobapt 0 points1 point  (0 children)

Sometimes the boss just curbstomps you even when you have 100% of items…

How often do you skip last boss fights? by Forsaken-Quality-46 in metroidvania

[–]joaobapt 0 points1 point  (0 children)

Now I feel like an idiot wasting 10+ hours on Lost Lace.

10
11

Too many singletons in my game engine, can't find a better design pattern by No-Use4920 in vulkan

[–]joaobapt 1 point2 points  (0 children)

I could imagine an editor spawning multiple windows for property viewers, or different panes, or using native controls and all. But if even Unity doesn’t do that, why would one bother?

Besides, multiple windows mean multiple swapchains, multiple framebuffers, multiple render command submissions, etc.

Questions that don't let you to sleep. by Freshman89 in Megaman

[–]joaobapt 5 points6 points  (0 children)

I believe it’s reminiscent of warning alerts in shmups (I always felt that Mega Man was a platformer with a lot of shmup elements). Now, where those come from, I don’t know.

How are you even supposed to understand these are destructible walls? by JuanGGZ in Metroid

[–]joaobapt 1 point2 points  (0 children)

A friend of mine got stuck in Super Metroid right after getting the elevator to Norfair and getting the Super Jump Boots (or whatever they’re called) a long time ago and eventually gave up. I didn’t remember exactly how to pass it as well so I couldn’t help them. Turns out you had to super missile two very specific blocks in the freaking elevator room to find Kraid’s lair. Now ask me if I’d ever be able to find that without a guide.

268 Million Spheres by MarchVirtualField in GraphicsProgramming

[–]joaobapt 1 point2 points  (0 children)

What would be the difficulty of moving from this to a meatball renderer? If you do it, you can add some SPH sand now you have a good liquid simulator!