Recent submissions

Comment · 7 years ago
if there is a demand I'd expect something to come up

Note that Uber/Lyft do something the taxi companies can not. They scale to meet demand. If 1000 drivers are needed between 6pm and 8pm then they'll likely get 1000 drivers. Taxi companies can't do this as they'd lose money on drivers and cars when all of them are not in use.

Comment · 7 years ago
And yet the WinAPI is not actually preformant for types of apps that an ImGUI excels at

There's best case for Retained mode GUIs and best case for ImGUIs. ImGUIs excel when lots is changing. In a scrolling mobile app the entire page is being re-rendered constantly as the user moves the page up and down. GUI widgets get created and deleted, data gets marshalled in and out, various algorithms are applied to try to minimize re-creating stuff, all code that doesn't need to be executed in ImGUI mode code.

There are tons of cases where ImGUIs win in perf. In fact the reason they are so popular with for game dev is exactly because they vastly out perform retained mode guis. There's a reason there are 100s of books and 1000s of blog posts and articles trying to get retained mode guis to run smoothly. They almost always fail without lots and lots of specialized client side code to try to minimize GUI widget object creation/deletion, reuse objects, minimize state changes, etc, all that code disappears in an ImGUI and they run at 60fps where as all the retained mode guis struggle to get even 20fps consistently as they hiccup and sputter.

Comment · 7 years ago
The title of the article is that sales are lagging but sales are provably not lagging
Comment · 7 years ago
I disagree with your disagreement :)

Electron (and nearly all retained mode GUIs) will execute 10x more code trying not to execute the rendering code. Just skipping all that checking and jumping to the rendering code is arguably a win in many many cases.

To put some empirical data on it, game devs use ImGUIs because they keep up with perf where as that 10x overhead of retained mode guis creating gui objects, deleting gui objects, marshaling data into and out of gui objects, adding and removing event handlers and callbacks, and then trying to write a bunch more code to optimize all of that never leads to a GUI that is performant enough for the GUIs needed for game dev.

I think if you check actual apps, especially phone apps, you'll find it's not so clear which one wins. Phone apps almost always move in relation to the users fingers meaning the screen is being re-rendered. Usually new GUI elements are moving on and off the top/bottom of the screen. The overhead of creating/deleting/managing those objects is arguably greater than just re-rendering. The screen is already going to be re-rendered. At best you're getting a few cached textures from your retained mode gui all at the expensive of managing GUI objects.

For desktop apps it really depends on the app. It's got nothing to do with the complexity of the UI and everything to do with what the app does. A text editor might be a win for a retained mode GUI. Photoshop/Maya it's less clear. For example Unity is ImGUI and has very complex UI. Much of the UI has to respond in realtime to the state of the user's document that is changing constantly.

Comment · 7 years ago
Here's another

https://greggman.github.io/doodles/glfw-imgui/out/glfw-imgui...

In the "ImGUI Demo" window start expanding the collapsed items or from the menus pick "Examples"

Note that no effort has been spent to actually make the demo web browser friendly so there are rough edges.

Comment · 7 years ago
Comment · 7 years ago
I have the same cringe. I think it comes from feeling inserted as a pretense to authority by writing style. Other examples I cringe at: The use of the word "titular", the phrase "abc cum def", ... For whatever reason they sound pretentious like the author is using them to show off, not to actually inform.

Some others are "I've said it once and I'll say it again", "as I said/wrote/posted/blogged before". Those seem to suggest the author is assuming they are famous/popular enough that their previous content has been read. Of course you could look at it as they are just suggesting you go read their previous post but for whatever reason that specific way of saying it comes across less as info and more as "of course you read my previous post".

I'm aware this is a personal opinion with no basis in reality.

Comment · 7 years ago
Sounds like what you're doing is proving the NYTimes is part of the fake news problem. I wonder given your data above if the NYTimes could be sued for liable for reporting something easily provably false.
Comment · 7 years ago
Comment · 7 years ago
I think you're mis-understanding why Unity switched. They only switched their in game GUI system. The entire app of Unity itself uses an ImGUI system and it is massively more complex than any Game UI and runs just fine.

The reasons they switched the in game system are many but they have nothing to do with performance.

Comment · 7 years ago
I don't believe this is a proven. The amount of code being run to cache objects, create and destroy objects, try not to create and destroy objects, marshal data into and out of GUI objects, manage and respond to events, etc. is easily 10x that of an ImGUI, maybe more. Many GUIs now a days are moved almost constantly. Pretty much all phone apps where the user scrolls through a feed of data. A static GUI doesn't need to be re-rendered in an ImGUI, only if something changes. Sure in some ideal test case the Retained mode GUI wins but I suspect it's far less clear what happens in the real world.
Comment · 7 years ago
Comment · 7 years ago
does that mean everything installs globallu by default. if there is one thing I love about npm it's that it's local by default and global is the exception.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton