(note that a game running at 60 FPS does not mean that you get 16.6ms mouse-to-screen latency at all)
(note that a game running at 60 FPS does not mean that you get 16.6ms mouse-to-screen latency at all)
Hard disagree. Sorry, but rant inc ...
If we can't hit 60fps with a chat app, one of the simplest applications imaginable by man, what the hell can we hit 60 with? It's drawing a couple thousand triangles (maybe) with a couple hundred textures (I guess). Game engines fart a couple thousand triangles when they're done drawing 50x+ that. Oh, and they do about a gazillion other operations .. at 60fps+
The slow part of switching between conversations is fetching the data which, on a fiber connection in a city, is < 5ms round trip. Hell, I live in the boonies in Canada and my round trip to Seattle is only like 20ms. You could also cache the first 20 messages to every conversation (disk space is cheap) to avoid the network.
As for the notion that "you need to care about such low-level things ...", yes, you do. To write fast software you just deal with it and move on.
Seems like you're simply not aware of complexities of the input to display path. Please make a simple windowed OpenGL application displaying a single triangle in a fraction of millisecond that changes color when you press a key and measure its latency, you may be surprised ;)
Did you know that merely enabling FPS limiter on Steam Deck imposes additional latency just because there's currently no way to do it better when using XWayland? That's what "low-level" meant in my comment.
If we're splitting hairs about how we define how long an application takes to update, we've already won.
In reality, we're talking about an app that should take ~0.01s to perform an operation (update a rectangular region with text), that's taking 1.0s instead. And that's THE OPTIMIZED VERSION. In the real world, we've already lost, which is what Casey was pointing out in his tweet.
And yes, of course, something is seriously wrong with a lot of applications these days, otherwise we wouldn't be having this conversation at all.
In 16.6ms a modern processor will execute about 128 million instructions. We need to locate about a screenful of text and/or cat pictures. We need to perform layout and then render it. The amount of work being done is not very much, or very difficult. The resources available are luxurious.
What part of the problem is it that makes it an unrealistic target?
Sure, so there will be latency, maybe 4-5 frames with input lag. But this is normally bearable in a game so I'm guessing that it would work fine for an office app. It would be difficult to remove, but 80ms response time from an application that can always hit its 16.6ms deadline should be workable.