Hacker News new | ask | show | jobs
by BrotherBisquick 1112 days ago
I can never go back to X11 and I think the greatest condemnation of it is that we're still talking about screen tearing in 2023.

Screen tearing is something that simply shouldn't exist by default. A person should be able to count on its absence, like a person should be able to count on a basic USB keyboard working without any headaches.

Now I'll brace myself for the "I've never noticed screen tearing" from people whose brains run on a different refresh rate than mine does.

5 comments

Screen tearing is not really an X11 issue. It's an XFree86/X.Org issue in that they are to this day in many ways the lowest common denominator implementations, and at some point Intel removed VSync circuitry from their IGPs completely - so the only way to prevent screen tearing was to have global compositor doing page flips. So, a lot of that "never noticed screen tearing" is due to people running different GPUs and/or enabling some driver features mitigating vendor weirdness.

Similarly, nothing says you need to request a redraw when moving a window instead of redrawing it from backing store - but at some point backing store became useless in X.Org even if you explicitly try to program its use.

> Now I'll brace myself for the "I've never noticed screen tearing" from people whose brains run on a different refresh rate than mine does.

I'm actually pretty sure this is a thing. I have a dissociative disorder and sometimes the "refresh rate" of my senses seems to go down. I have no idea why or how, but it's really weird to literally experience reality feeling like a slideshow.

But other times I can detect any flickering lighting, so I dunno.

Wow, can you please elaborate on the disorder like the name? When I was a kid this slideshow effect would happen to me repeatedly and then never again since high school. Nobody I've ever mentioned this to has a clue what it was.
oh it's dissociative identity disorder, but there are other dissociative disorders that don't include actual dissociative identities, like "derealization/depersonalization disorder" (DPDR). The slideshow thing isn't necessarily DPDR, but maybe you can use it as a search term.
Thanks, slideshow is such a great way to describe it. I always explained it as time slowed down, but maybe people did not understand how time went ... like ... this as a flip-book being released really slowly.
This verges on sounding like a neural disorder to me. I notice screen tearing. So what? Please kill my framerate and bloat my latency an order of mag so I'm rid of this awful graphical artifact!! While the compositor's at it, maybe it can add delays with animations to when I close or minimize windows! (Just kidding; don't do that; that's way worse -- unless there's people who don't notice that that's the cost of eliminating tearing.) I'm using a computer. It's drawing frames. There should be tearing. Why would you want to boil the ocean and make the snappiness of your game/entire desktop worse to sustain some denial of the fact that you're at a computer?

Here's another thing, which proves that directly addressing tearing is false dharma: it gets better with higher refresh rates. Having higher Hz is awesome, and it's improving the issue to boot! It's like antialiasing. You're rendering stuff multiple times, taking enormous performance hits, sometimes now even using semi-sentient AI to smooth the jaggies out... when it turns out that the jaggies get better when you increase your resolution. False dharma: trying to live the lie of no jaggies on 768p @ 43 FPS; TRUE DHARMA: accepting and advancing your computerized existence on 4K @ 53 FPS. Same with tearing and refresh rate.

Also??? These days, adaptive sync (on the monitor hardware level, NOT software driver level) completely eliminates tearing. Another dharmically truer solution.

Also, while you're so hung up on tearing that you'd leave X11 for Wayland, you've clearly never experienced the awesomeness of xdotool, which isn't available on Wayland. You're not truly living. You're trapped in a gilded cage, satisfying merely the basest petty natures of man.

> Please kill my framerate and bloat my latency an order of mag so I'm rid of this awful graphical artifact

Where do you live?

I don’t get how some people don’t see it. I remember running a very weird compiz setup just to alleviate screen tearing, many years ago.

It was such a relief the first time I used Mac OS X. Finally a unix that renders to the screen without artifacts.

> It was such a relief the first time I used Mac OS X. Finally a unix that renders to the screen without artifacts.

That was one of the reasons I used macOS too. Not for artifact-free rendering but for the fact that it's a real production-ready desktop OS with first-party app support from most companies, while being a true Unix with all the powerful Unix capabilities, like being able to run Valgrind and etc. without nesting virtual machines.

Because screen tearing is something that honestly showed up pretty late, around the time of i3/i5/i7 with IGP, as before that tearing was mitigated at least a little with VSync. (There's the issue that X11 didn't expose good sync primitives, but that's workable with extension, not total replacement)
Even with vsync it happened on X11 on dedicated GPUs. Plus a number of other buffer management artefacts.

It didn’t help that the drivers for everything were closed course, but even with perfect drivers X11’s design can’t deliver perfect frames.

The design can deliver perfect frames - it's extensible so pretty much you need to provide a way to handle double buffering right - and guess what, extensions for that were proposed (Present extension by Keith Packard, building on top of X Synchronization extension)
I notice it I just don't care at all. Latency is a much bigger deal to me and it may not be technically part of Wayland or the widget toolkits used by compatible apps but it is consistently a problem.
If latency is a real problem for you, buy a monitor with higher refresh rate. That’s the only meaningful way to decrease latency on modern software. Mind you, literally every single program you use will double buffer, unless you are using XMotif or so exclusively.
I actually do use a lot of XT/Motif apps. Mostly because of the lower latency but also they weren't infected with whatever brain damage generated the gtk3 design language.