News for hackers. Stuff that matters.
Re:X is justifiably slow by bruce511 on Saturday June 01, 2024 @04:08PM (#40548686)
I'm old enough to remember when speed was the defining factor for everything. Benchmarks were a critical part if selling, everyone knew the mhz of their cpu, speed was the most important thing, it was the only thing.

And I'm not talking about techies, I'm talking about the man in the street.

Today, all computers, all programs are "fast enough". Most people can't name a benchmark, much less use it for comparison. Computer sales seldom focus on mhz. Your phone is either fast or slow. But actual measures are not what phone users care about.

These days it's all about capability. Most of which is assumed to exist as table stakes, and which didn't even exist in Windows 95 days.

Maybe people under-estimate how fast their PC is, but equally they grossly underestimate how much work it -is- doing.

Some, but not huge, amounts of time are spent on making things "as fast as they can be". Because customers are paying for more capability, not more speed.

Re:X is justifiably slow by renegade-otter on Saturday June 01, 2024 @04:14PM (#40548739)
So this isn't just me. I thought I was getting more impatient, but performance does seem to be degrading as it's no longer considered to be a feature. There is absolutely ZERO reason why a modern operating system or some rudimentary site with 10K users should not be blazing fast.

I have to constantly close my browser on a 12-core Intel Mac MINI just because four open sites get its fan spinning like it's a Hoover Dam turbine.

Re:X is justifiably slow by dkarl on Saturday June 01, 2024 @06:08PM (#40549476)
When people are used to virtually everything waiting on multiple round-trips over cellular connections, there's no point in optimizing local performance. An extra hundred milliseconds of lag in the UI gets attributed to the slowness of the connection.

Plus web and mobile developers have put a ton of work into animations and things like that to make slowness feel natural, which lowers expectations even further. Nobody expects a device to respond quickly. You expect to have to wait a bit for round-trips or animations or both.

Re:X is justifiably slow by bartread on Saturday June 01, 2024 @07:25PM (#40550001)
> An extra hundred milliseconds of lag in the UI gets attributed to the slowness of the connection.

This is looking at the problem wrong.

I notice your shittily optimised application not just because it’s slow, but because it’s draining the battery.

This is a problem, and developers need to wake up to it. Crappy performance uses more energy because the machine is doing unnecessary work to an end that could be achieved more efficiently, often much more efficiently.

So, please, invest time in performance.

Re:X is justifiably slow by kjellsbells on Saturday June 01, 2024 @10:31PM (#40550878)
Alternate take: in a world where our entire society is trying to reduce energy usage, to minimize emissions, and so on, it strikes me as insanity that we do not demand every ounce of performance out of the hardware that we have, and equivalently, aim to minimize unnecessary demands on the hardware at the same time.

Burning up a laptop CPU and torching racks of servers and routers in some data center just because the web is full of shitty ui frameworks should be intolerable to consumers and providers. Efficiency really needs to be a goal of all system designers.

Re:X is justifiably slow by paulddraper on Saturday June 01, 2024 @10:55PM (#40550974)
What UI framework do you like to use?
Re:X is justifiably slow by npunt on Saturday June 01, 2024 @07:23PM (#40549984)
On the other hand, in a world of slightly non-responsive software, something that does respond instantly has a subconscious psychological impact on us and builds affinity.
Re:X is justifiably slow by renegade-otter on Saturday June 01, 2024 @08:19PM (#40550290)
Indeed.

I cover this in "Your Database Skills Are Not 'Good to Have'": https://renegadeotter.com/2023/11/12/your-database-skills-ar...

Specifically when I cite THIS: https://designingforperformance.com/performance-is-ux/

Re:X is justifiably slow by paulmd on Sunday June 02, 2024 @03:07AM (#40552030)
> Imagine if SELECT field1, field2 FROM my_table was faster than SELECT field2, field1 FROM my_table.

possibly it might not be smart enough to reorder an index on (field1, field2), or it had some weird internal constraint on tuple ordering, or it was simply different enough to go down a different query plan sometimes, or maybe there’s something around the actual physical ordering on disk?

but yeah postgres and SQLite are modern marvels that we take for granted… myISAM was not a good time, or at least people tended to violate the correctness/visibility rules it promised (iirc) or something like that. The fact that you can just open up a stable, well-tested sql instance that runs against disk, or drop Postgres into most transactional use-cases, and generally not have to worry about unduly fighting the DB itself, is underappreciated.

Re:X is justifiably slow by agumonkey on Saturday June 01, 2024 @06:56PM (#40549820)
When I see vintage computers (amiga, atari) boot up straight into a repl in an instant I have to admit I feel confused.

Modern uses forced a lot of layers for genericity and security ..

Re:X is justifiably slow by nradov on Saturday June 01, 2024 @07:45PM (#40550108)
The Amiga booted into the Workbench GUI. It didn't have a native "repl" as such, although you could open a window for a Rexx script interpreter. And if you booted from a floppy drive, that wasn't fast at all.
Re:X is justifiably slow by rasz on Saturday June 01, 2024 @07:48PM (#40550130)
There was nothing instantly about Amiga. It only has bootloader in rom. Booting to Workbench is a good 30-60 seconds from floppy, and its not much faster with a HDD (kickstart has some weird hardcoded wait loops). Loading new drawers (folders) is still slow (drawing icon at a time) on fastest accelerators (Vampire) and SSD.
Re:X is justifiably slow by bitwize on Saturday June 01, 2024 @09:27PM (#40550641)
People who lived through the time consistently report that PCs had to reach about 300MHz before they became as responsive as a 25MHz Amiga. Part of this is the design of the OS: Amiga gave user-input interrupts the absolute highest priority.
Re:X is justifiably slow by pixelfarmer on Sunday June 02, 2024 @02:11AM (#40551798)
It is not only that. I remember reading some article where someone did actual measurements. Some of the delays are attributed to just how for example keyboards as such work like amount of movement needed before an electrical keypress signal happens and stuff like that, plus the whole processing chain following. And that is where these older computers are much much faster, because USB or worse, Bluetooth, only allow for so much low latency. Plus there are insane amounts of signal processing steps before it even arrives as an interrupt in the CPU, let alone is processed into some actual OS input event, and then it still needs to go through various levels of application software layers. And that is just the input side, the whole thing has to lead to screen updates and this is another level of technocraziness.
Re:X is justifiably slow by rasz on Sunday June 02, 2024 @09:39AM (#40554021)
Amiga keyboard uses pretty much same architecture as PC PS/2. Microcontroller in the keyboard talking over serial (~10Kbit/s), pushing keys as soon as they are pressed, another microcontroller on motherboard generating interrupts per key. USB is pooled at 125 Hz. While yes, PS/2 and Amiga keyboard will have lower latency, does ~7ms make that big of a difference?
Re:X is justifiably slow by bitwize on Sunday June 02, 2024 @09:29PM (#40558542)
Musicians can feel latencies of 1ms. It makes a difference.
Re:X is justifiably slow by kaba0 on Sunday June 02, 2024 @04:25AM (#40552448)
> Amiga gave user-input interrupts the absolute highest priority

That’s a pretty bad idea in general. Handling priorities properly is absolutely essential for the stability of a system. I’m not familiar with Amiga, but systems weren’t known for their stability back then. Whole OS crashes were much much more common back then.

Re:X is justifiably slow by sweetjuly on Sunday June 02, 2024 @10:08AM (#40554254)
A typical operating system should not have stability issues just because of badly prioritized interrupts. You may have severe performance issues, sure, but if you're crashing because someone didn't handle an interrupt in time, someone designed something wrong. Maybe it's not software's fault and some hard engineer made bad choices, but this is generally not true today since no mass market OS actually guarantees interrupt latency.
Re:X is justifiably slow by snvzz on Tuesday June 04, 2024 @07:46AM (#40573405)
Athlon + Windows 2000 was, for me, the first time a PC did not feel outright sluggish relative to the Amiga 500.
Re:X is justifiably slow by arexxbifs on Sunday June 02, 2024 @03:59PM (#40556823)
Cold booting my 7 MHz A600 to a fully loaded, functional and responsive desktop takes 17 seconds from hard drive (I just measured). Pretty decent, I'd say.

There's plenty about Amiga that is and/or feels instant. My workhorse is a 14 MHz A1200 and I use it at least once a week, so I get plenty of opportunity to compare. For its intended use cases, most things feel very snappy. Then there are of course areas where it doesn't stand a chance compared to a modern PC, even if the workload is "Amiga sized". Decompression and picture downsampling, for example.

Re:X is justifiably slow by fiddlerwoaroof on Saturday June 01, 2024 @07:19PM (#40549960)
> There is absolutely ZERO reason why a modern operating system or some rudimentary site with 10K users should not be blazing fast.

This just isn’t true: optimizing for speed is always a trade-off and, when an application is fast enough, it can be wasteful to focus on speed rather than other factors

Re:X is justifiably slow by resonious on Saturday June 01, 2024 @07:43PM (#40550103)
I think we all know this, but have different definitions of "fast enough".
Re:X is justifiably slow by patrick451 on Sunday June 02, 2024 @03:19PM (#40556561)
Almost no website or application in 2024 is fast enough. HN itself is the only website I can think of which is "fast enough".
Re:X is justifiably slow by fiddlerwoaroof on Sunday June 02, 2024 @05:47PM (#40557419)
As a general rule, the people who make this decision don’t agree; which is why we’re surrounded by slow websites.
Re:X is justifiably slow by patrick451 on Thursday June 06, 2024 @08:18PM (#40603998)
I agree. But it doesn't help when engineers are always whispering in their ear about the supposed evils of premature optimization and that things are fast enough anyway.
Re:X is justifiably slow by MatthiasPortzel on Saturday June 01, 2024 @08:02PM (#40550205)
> There is absolutely ZERO reason why a modern operating system or some rudimentary site with 10K users should not be blazing fast.

I find dismissive statements like this to be extremely useless to the conversation. I agree that a modern operating system could be blazing fast. But if that’s not the case, then there obviously is a reason.

If you know the reason why software in general has gotten slower (compatibility?, bad devs?, more feature?), and already dismissed it as an invalid or insufficient reason, then share what you think that reason is.

If you, like me, don’t know what that reason is, then let’s approach it with a problem-solving attitude and try to find out.

Re:X is justifiably slow by AlotOfReading on Saturday June 01, 2024 @09:35PM (#40550669)
Virtually everything in a modern development stack contributes to the problem. Buses are optimized for bandwidth at the cost of latency. CPUs are broadly optimized for throughput at the cost of latency. OS design is optimized for throughput and isolation, again at the cost of latency. Language runtimes are optimized for feature-richness, again at the cost of performance. Languages are optimized for quality of life features that carry hidden performance costs, like virtual functions and exception-based control flow. Developers compound this with dozens of layers of indirection and abstraction until finally, eventually there's a message on screen for the user.

There isn't a singular cause to brainstorm. It's everything in the entire stack optimizing just a bit in other directions that produces the end result of disappointing, sluggish computers despite their actual capabilities. This discussion isn't going to tread any new ground either. All of these things are known because there are people who can't afford modern computing, like the HFT firms that are all on FPGAs now and real-time embedded systems. It's not hard to do, it's just tedious and expensive the way development used to be for everyone.

Re:X is justifiably slow by Panzer04 on Sunday June 02, 2024 @04:23AM (#40552442)
But then you go play a game on windows, and everything works instantly. When performance is critical to have a good experience, it can be done, and pretty well.

Most desktop software just doesn't give a shit about performance.

Re:X is justifiably slow by renegade-otter on Sunday June 02, 2024 @09:49PM (#40558666)
Games have always been one sector where squeezing out every ounce of performance is the goal. And, unlike web devs, game developers test their products on inferior hardware, not just the latest and greatest video cards.
Re:X is justifiably slow by kaba0 on Sunday June 02, 2024 @04:28AM (#40552464)
I’m fairly sure you would be equally upset with your world document taking multiple seconds to load were it lower bandwidth. Or if you couldn’t have a 4k screen at 120Hz, which is severalfold more data than hd@60Hz
Re:X is justifiably slow by beefnugs on Sunday June 02, 2024 @02:18AM (#40551833)
Capitalism constraints wont even allow adequate bug fixing. There sure as hell isn't time or money to optimize things
Re:X is justifiably slow by chefandy on Sunday June 02, 2024 @12:22AM (#40551327)
That's probably a useful perspective for someone that makes software... But developers and most other folks interact and reason about computers and software pretty differently. Generally, people have practical problems that computers can solve, and doing so with as few steps, things to learn, or any other hassle is what they really care about. Anything more than that is a nice bonus, but pretty unnecessary. Unless something is really sluggish, they just don't really care much. Some of it is that lots of things on computers justifiably require a bit of a wait, and it takes a nontrivial bit of understanding to know if it's justified. Hell most junior devs don't even have that intuition tuned accurately.

IMO Product Managers should be steering resources based on what end users want rather than what we feel they should want. Now if we could just get more of them to listen to actual users more than marketing people that are more interested in growing their list of feature bullet points than making software that's useful to anybody at all.

Re:X is justifiably slow by kaba0 on Sunday June 02, 2024 @04:20AM (#40552422)
It’s just that single core performance sort of plateaued (as expected). We just can’t get it faster by 2x as we used to in a couple of years, and it is not really perceptible otherwise, especially that most software besides artificial benchmarks won’t max out the computing capacity of CPUs, it’s mostly waiting for memory and IO.

What we can increase is parallelism, but most problems simply can’t be parallelized for a good enough percentage of the workload, and Amdahl’s law can’t be circumvented.

Nonetheless, many other things can be scaled, like resolution (like, think how much bigger 4k@120fps vs hd@60fps is), file sizes, etc, so the workload does increase and not everything can cancel out, hence the perceived slow down in certain cases.

Re:X is justifiably slow by lazide on Saturday June 01, 2024 @04:12PM (#40548718)
UI latency has gotten horrendous, both desktop and web.

That is what people are experiencing - 500ms-3000ms delays for basic UI interactions (or more), frozen UI’s, jerky/laggy autocomplete and UI renders. Like the classic ‘button is a different button by the time you see the old button and click on it’.

On incredibly lightly loaded and overpowered hardware.

Everyone has been focused on some core algorithm, and completely ignoring the user experience. IMO.

Re:X is justifiably slow by lucasmullens on Saturday June 01, 2024 @04:29PM (#40548822)
I remember learning that you get about 100ms for a basic UI interaction before a user perceives it as slow. And you get about 1s for a "full page navigation", even if it's a SPA, users are a bit more understanding if you're loading something that feels like new page.

Getting under 100ms really shouldn't be hard for most things. At the very least it should be easy to get the ripple (or whatever button animation) to trigger within the first 100ms.

Re:X is justifiably slow by delta_p_delta_x on Saturday June 01, 2024 @07:16PM (#40549940)
It is mental just how different the video game and (web/desktop front-end) realms are.

In the former, one can have a complicated and dynamic three-dimensional scene with millions of polygons, gigabytes of textures, sprites, and other assets being rasterised/path-traced, as well as real-time spatial audio to enhance the experience, and on top of that a real-time 2D UI which reflects the state of the aforementioned 3D scene, all composited and presented to the monitor in ~10 ms. And this happens correctly and repeatedly, frame after frame after frame, allowing gamers to play photorealistic games at 4K resolution at hundreds of frames a second.

In the latter, we have 'wew bubble animation and jelly-like scroll, let's make it 300 ms long'. 300 ms is rubbish enough ping to make for miserable experiences in multiplayer games, but somehow this is OK in UIs.

Re:X is justifiably slow by npunt on Saturday June 01, 2024 @07:32PM (#40550034)
Agree it's like two separate worlds. Games and web aren't 1:1 tho in relation to whether visual responsiveness is blocking a task.

Games need ultra-responsiveness because rendering frames slower is essentially blocking further user interaction, since players are expected to provide a constant stream of interaction. Being 'engaged' is essentially requiring constant feedback loops between input/output.

On the web the task of reading a webpage doesn't require constant engagement like in games. UI (should) behave in more predictable ways where animation is only there to draw association, not provide novel info. Similarly UI animations are typically (or should not be) blocking main thread responsiveness and (should be) interruptible, so even low frame rates are not breaking the experience in the same way.

But still, your point stands, its crazy what we've come to accept.

Re:X is justifiably slow by crest on Saturday June 01, 2024 @08:04PM (#40550221)
I also expect my everyday tools to be responsive e.g. if a "desktop" application lags while typing I'm uninstalling that shit (if there is an alternative sigh).
Re:X is justifiably slow by PlunderBunny on Sunday June 02, 2024 @03:03AM (#40551996)
I find VS Code unusable for this reason - typing is like communicating with an app in a parallel world.
Re:X is justifiably slow by lazide on Friday June 07, 2024 @11:37AM (#40609684)
It’s a good thing we don’t talk about Eclipse, hah.

How can a UI framework be abused so heavily that it’s that frustrating to try to use?

Re:X is justifiably slow by filleduchaos on Saturday June 01, 2024 @11:51PM (#40551178)
> It is mental just how different the video game and (web/desktop front-end) realms are.

There is absolutely nothing mental about it, and I'm saying this as someone who's worked on a couple of game projects myself.

Somehow people making these comparisons are never willing to put their money where their mouth is and give random web pages the same level and amount of access to system resources as they give to those "photorealistic games at 4K resolution at hundreds of frames a second".

Re:X is justifiably slow by lazide on Saturday June 01, 2024 @04:33PM (#40548854)
Usually these issues are caused by doing work in the UI thread (easy, when it’s ‘cheap’) synchronously.

All UI thread frameworks end up doing the UI interactions on a single thread, or everything becomes impossible to manage, and especially if not careful, it’s easy to not properly setup an async callout or the like with the correct callbacks.

It is easy to make a responsive, < 100 ms UI, it’s often harder to keep it that way.

Re:X is justifiably slow by AgentOrange1234 on Saturday June 01, 2024 @06:29PM (#40549644)
I wonder to what degree people are actually experiencing this.

I'm on a 5-year old intel Macbook, and I think in my daily experience, core software (browsers, emacs, keynote, music) are pretty snappy.

I do routinely work with some extremely frustratingly slow software, but it's pretty stark how much its performance stands out as, well... exceptionally bad.

Re:X is justifiably slow by ssl-3 on Saturday June 01, 2024 @06:30PM (#40549653)
UI lag is a problem, for sure -- and so are some of the dynamic layouts that are meant to "solve" it[1].

One thing I've noticed lately is mouse lag. Like, say, in Ye Olde Start Menu on Windows: Move the mouse to the Start menu, and press the mouse button down. Nothing happens. Release the button, and then: Something happens.

The menu is triggered on button-up events, not button-down events. This adds a measurable delay to every interaction.

Same with Chrome when clicking on a link: Nothing happens until the button is released. This adds a delay.

I mean: Go ahead and try it right now. I'll wait.

And sure, it might be a small delay: After all, it can't be more than a few milliseconds per click, right[2]? But even though the delay is small, it is something that is immediately obvious when opening the "Applications" menu in XFCE 4, wherein: The menu appears seemingly-instantly when the mouse button is first pushed down.

[1]: It took me more than three tries to pick a streaming device from Plex on my phone yesterday. I'd press the "cast" button, and a dynamic list of candidate devices would show up. I'd try to select the appropriate candidate and before my thumb could move the fraction of an inch to push the button, the list had changed as more candidate devices were discovered -- so the wrong device was selected.

So I then had to dismantle the stream that I'd just started on the wrong device, and try (and fail) again.

[2]: But even small delays add up. Let's say this seemingly-unoptimized mouse operation costs an average of 3ms per click. And that 100 million people experience this delay, 100 times each, per day.

That's nearly an entire year (347 days) of lost human time for the group per day, or 347 years lost per year.

Which is 4.4 human lifetimes, per year that are lost within the group of 100 million, just because we're doing mouse events lazily.

Re:X is justifiably slow by teddyh on Saturday June 01, 2024 @06:38PM (#40549723)
Which, if any, GUIs have ever activated anything decisive on mousebutton-down events? IIRC, everyone uses mousebutton-up events as the imperative factor.
Re:X is justifiably slow by ssl-3 on Saturday June 01, 2024 @06:43PM (#40549750)
XFCE 4 is that way for most things that I've tried right now: The menu panels and desktop context menus work on button-down.

Switching Chrome tabs works on button-down. Activating the three-dot menu in Chrome also works on button-down (which is good) but then it needlessly fades from 0% to 100% opacity (which is a crime against nature).

I didn't even have to go digging in the memory hole to find this. It's right here in front of me.

Re:X is justifiably slow by teddyh on Saturday June 01, 2024 @06:55PM (#40549817)
Sure, many menus open on mousebutton-down events, but nothing is activated or started until the mousebutton-up event.

> Switching Chrome tabs works on button-down.

True; the same in Firefox. That is interesting. Perhaps it’s because simply selecting a tab is considered a safe and reversible operation. I did use the word “decisive” for a reason.

Re:X is justifiably slow by sho_hn on Saturday June 01, 2024 @09:18PM (#40550591)
In fact, specifically for context menus this is a feature: In KDE ones, you can button-down to open the context menu and then release above the menu entry to activate it, making the entire process a single-click affair. In standard Windows ones it takes two full clicks, which is one of those tiny inconveniences that drives me crazy when using it. Of course, the Win way also works in KDE.
Re:X is justifiably slow by int_19h on Sunday June 02, 2024 @12:45AM (#40551437)
Windows does this for top-level menus for the same reason.

Or at least it did in classic Win32 UI. You can still see this in action if you open, say, Disk Management. But in Win11 Notepad (which is modern XAML), holding mouse down will open the drop-down submenus, but you won't actually be able to activate an item by releasing the mouse button while hovering over it, so it seems that someone partially copied the design without understanding its purpose.

Re:X is justifiably slow by EasyMark on Saturday June 01, 2024 @07:36PM (#40550062)
Same in macOS, long press can substitute for right click in some things I’ve tried. So obviously you can’t use mouse down for that unless you you have a “time out” which defeats the purpose. Button presses are more complicated that what people expect, especially on embedded systems.
Re:X is justifiably slow by ShroudedNight on Saturday June 01, 2024 @06:45PM (#40549756)
Don't games do this all the time?
Re:X is justifiably slow by teddyh on Saturday June 01, 2024 @06:56PM (#40549828)
I’m not sure games count as GUIs as pertaining to this discussion. GUIs in games would qualify, sure.
Re:X is justifiably slow by mbreese on Saturday June 01, 2024 @06:45PM (#40549758)
The mouse event thing is a bit misleading.

Mouse interactions have (at least) 5 different events: hover, down, up, click and double click. The interactions you describe all happen “onclick”, which requires a down and up event to happen consecutively.

I get your point, that small delays add up, but mouse events aren’t a great example, IMO. Each of the events have a purpose and you want to make sure that a button is only activated with an onclick, not just an ondown.

Re:X is justifiably slow by ssl-3 on Saturday June 01, 2024 @07:01PM (#40549855)
I appreciate the clarity in nomenclature.

> Each of the events have a purpose and you want to make sure that a button is only activated with an onclick, not just an ondown.

That's stated as if it is a rule, but why is that a rule?

And if if is a rule, then why does Chrome -- for example -- handle this inconsistently?

Clicking on a different Chrome tab sure seems to happen with ondown, but clicking on the "reply" button below the text box I'm typing into works with onclick.

Re:X is justifiably slow by mixmastamyk on Saturday June 01, 2024 @07:45PM (#40550111)
I occasionally click a button only to change my mind mid-click. So I can move the mouse pointer off it and then let go of the button, in effect avoiding the operation. This ability to back out is a good for command-like events. Changing tabs not so much perhaps but probably traditionally done for consistency.

X window was the odd one out in the old days that would show a context menu on mouse down. Made it feel a bit unrefined.

Re:X is justifiably slow by rawling on Sunday June 02, 2024 @03:58AM (#40552289)
Doesn't Windows do the same when clicking a window titlebar?

Maybe it's so if you're going to start dragging the window/tab you can see what is in it.

Re:X is justifiably slow by ssl-3 on Sunday June 02, 2024 @06:41AM (#40553022)
Clicking anywhere in a background window (including the titlebar) in Windows 10 responds by immediately raising and focusing the clicked-on window when the mouse button is first pushed down.

The inconsistency is bizarre, since some here say that clicking-and-releasing before a resultant thing is allowed to happen is a hard-and-fast rule of GUI implementation that has been in place for decades, but that just doesn't seem to be the case at all.

Re:X is justifiably slow by mbreese on Monday June 03, 2024 @07:43AM (#40561714)
There are no hard and fast rules, only conventions that are context dependent.

Buttons normally only respond to the “on click” event. This lets you move off the button if you change your mind mid-click.

Window focus is normally an “on down” event because you might want to see what’s behind it while doing something else before you release the button (like drag it around). But focus used to be “on hover”, where just moving your mouse over a window brought it to the foreground. “On up” wouldn’t make sense because if you wanted to do something like move the window around, you couldn’t as you’ve now released the mouse.

It all depends on what you’re trying to do and the OS. Each OS has a design language that “tries” to bring some consistency to event handling. But ultimately, it’s up to the application to handle many things.

Re:X is justifiably slow by ShroudedNight on Saturday June 01, 2024 @06:43PM (#40549749)
> The menu is triggered on button-up events, not button-down events.

I just tried this on Firefox and can confirm similar behaviour. Some of the things I clicked on appear to have some alternate long-press function despite having a pointer device with multiple interaction modes.

It seems we have condemned our desktops to large latencies on the off-chance someone might try and interact with them using touch.

Re:X is justifiably slow by int_19h on Sunday June 02, 2024 @12:43AM (#40551426)
Mouse click considered complete only on mouse-up rather than on mouse-down was a thing before web browsers even existed, much less before touch UIs. Windows worked that way for as long as I can remember, and IIRC so did macOS.
Re:X is justifiably slow by bitwize on Saturday June 01, 2024 @07:10PM (#40549902)
> Same with Chrome when clicking on a link: Nothing happens until the button is released. This adds a delay.

UI buttons have activated on the mouse-up event since forever ago. There's a reason: to give the user the choice of backing out of an action even after the user has pressed the corresponding button. They can just move the pointer off the button, release, and the action will not be committed.

John Carmack made this same point recently. John Carmack is wrong. Maybe the trigger on your gun in Doom needs to respond on mouse down, for the immediacy and realism -- that's how real gun triggers work, no takesie-backsies once it's pulled. But especially for potentially destructive UI actions such as deleting or even saving over a file -- or launching the nuclear missiles -- you want to give the user every opportunity to back out and only commence the action once they've exhausted all those opportunities.

It's been that way since the 1984 Macintosh -- since a time people remember as having much snappier UIs than now.

Besides which, worrying about the few milliseconds lost each time a button waits for the release is pennywise and pound-foolish; there are much larger, more egregious sources of lag (round trips to the server, frickin' Electron, etc.) we should work on first.

Re:X is justifiably slow by EasyMark on Saturday June 01, 2024 @07:33PM (#40550040)
The only time I see delays like that is when there is something that has to happen like a network data fetch, database lookup, etc. I’ve written a ton of GUIs in javascript/python and they’re all indistinguishable from c++ qt apps I’ve written, basically faster than a human can hope to do another operation short of queuing up keyboard commands via a “keyboard only” interop (say in emacs). When I’ve seen slowness like the latency was always per what I said before data fetch in some format from a slow database/network connection
Re:X is justifiably slow by procflora on Saturday June 01, 2024 @08:36PM (#40550385)
No doubt I'm picking an easy target here, but it takes like 700 ms to switch back and forth from the Chat tab to the Calendar tab in the Teams desktop client on my boring work-issued laptop (i.e. commodity hardware). This is repeatable, first time, every time. It doesn't even bother to animate anything or give feedback that a UI interaction has occurred until 500+ ms after the click.

Some things do run very quickly, for sure, but so many of the high touch pieces of code out there from big name corps have some of the worst performance. Hundreds of millions of people use Teams, and many of them use it a lot throughout the day. You must just be getting lucky in what apps you use on a regular basis.

Re:X is justifiably slow by lazide on Friday June 07, 2024 @11:11AM (#40609464)
I think they’re referring to actual implementation, which in their experience would require some sort of massive architectural stupidity to produce a slow UI on desktop.

And you’re referring to your (and most other people’s) daily experience, which is of a major software firm producing daily used software with a super slow UI on desktop.

With a little cynicism, these two views are quite compatible.

Re:X is justifiably slow by int_19h on Sunday June 02, 2024 @12:50AM (#40551455)
> button is a different button by the time you see the old button and click on it

This is somewhat exacerbated by, ironically, UI mostly being async these days. Back then, if app was slow, it would usually block the UI thread outright, so you couldn't click anything until processing was done. But these days UI is usually "responsive" in a sense that you can interact with it, and lag instead manifests by UI getting out of sync with the actual state (and constantly trying to catch up with it, causing the problem you describe).

Re:X is justifiably slow by kaba0 on Sunday June 02, 2024 @04:32AM (#40552486)
I think this problem is a bit overblown, as we tend to get very angry at the relatively few offending ones, and fail to notice the case where it just works. So might be just some human bias over-amplification.

Like, there are websites that absolutely suck, but that’s mostly due to some idiotic management decision to add 4 different tracking bullshit libraries, and download 6 ads per click. Thinking about the regular software I use.. could it be better? Certainly. But it is very far from unusable.

Re:X is justifiably slow by koito17 on Saturday June 01, 2024 @04:22PM (#40548791)
> Computer sales seldom focus on mhz.

For good reason. Clock speed isnt the sole factor in performance. A PowerPC 970 can clock up to 2 GHz, but it only achieves 8 instructions per cycle (on average!) for arithmetic instructions. Modern mobile CPUs clocked at a fraction of 2 GHz achieve much higher throughput for arithmetic. The branch predictor in the PPC chip, while impressive for its time, is simple in comparison to those of modern processors. A CPU without pre-fetching is going to have much worse latency and throughput than any CPU with it. So on, so forth.

Overall, it's naive at best to focus on clock speed for performance. I used to fixate on it when I was a teenager, but not anymore.

Re:X is justifiably slow by crest on Saturday June 01, 2024 @08:02PM (#40550203)
If only the the PPC 970 was able to sustain an IPC of eight... it would've been a true miracle to run at 2GHz in 130nm (later 90nm). An IPC of ≥8 for more than a few cycles is something you'll only see during unrealistic micro-benchmarks (e.g. those used to reverse engineer their micro-architecture limits) on the widest of modern out-of-order CPU cores. To really sustain such an IPC in a real-world application workload you still need unusual applications and hardware e.g. a really wide VLIW DSP and *well* *optimised* assembler code.
Re:X is justifiably slow by fanf2 on Saturday June 01, 2024 @04:43PM (#40548926)
8 instructions per cycle is a lot, especially on average! I checked and the PPC 970 could fetch, decode, and issue at most 8 ALU ops per cycle, but it could only retire 5 instructions per cycle, so its average IPC is probably less than 4.

https://www.anandtech.com/show/1702/2

Re:X is justifiably slow by userbinator on Saturday June 01, 2024 @05:21PM (#40549166)
8 RISC instructions per cycle is much easier to achieve than CISC ones.
Re:X is justifiably slow by HPsquared on Saturday June 01, 2024 @07:35PM (#40550056)
It's the same with cars. Manufacturers have long since made cars that are "fast enough" and it's less of a differentiator then it used to be.
Re:X is justifiably slow by bongodongobob on Saturday June 01, 2024 @10:07PM (#40550771)
Not really, top speed has never been a selling point for cars since maybe the bootlegging days. They've been optimizing for either power or gas mileage for a long time.
Re:X is justifiably slow by fire_lake on Sunday June 02, 2024 @09:37AM (#40554009)
No, they are optimized for status signalling.