Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is because someone's great feature is another's broken mess.

For example, i cannot stand vsync anywhere with the only exception being video playback. I want my windows to follow the mouse precisely, not lag behind a few pixels, i want my games to react instantly, not lag a few milliseconds, etc. Yet GNOME, elementaryOS and even Wayland's whole design force it (well, Wayland could be implemented without vsync, but is anyone doing it?).

At the same time you have people complaining about tearing and when they force composition everywhere to fix it, they do not mind (or sometimes, even notice) the lag.

Similarly, i like how X allows composing applications and environments out of individual components (ironically this sort of application composition lends itself to the Unix idea of one app per role, but most modern toolkits ignore that feature so we ended up with almost nothing really supporting it unless you go raw Xlib or ancient toolkits like Xaw or Motif).

Others see it as anathema and the root of all evil (ok, i cannot put some more concrete negatives for this as i cannot comprehend how someone would dislike it, yet i always end up arguing with people - especially GNOME/Gtk+ people /for some reason/ - over at Reddit about it :-P).

There is no way to please everyone, so you have to allow for choices. Or deal with people constantly complaining about their lost choices, that works too i suppose :-P.



I wasted the last two hours pinpointing what was causing my firefox instance to be stuck with the mouse cursor hand icon. Turns out drag and dropping url shortcut to a nautilus window freezes ff (well, it freezes the mouse cursor. edit: so firefox has to be killed because it doesn't respond to click or keyboard inputs anymore).

That's not a broken mess being someone's great feature.

It is (should be) a showstopper; in 2017, in Ubuntu. I found mention of the bug as early as march 2017 in fedora 2x (I think). I believe it's now lost in triage after not being taken care of then closed because that version of the distro is eol (until someone resubmit). How such a bug is shipped is beyond me. But hey, I could hack a patch.


The Right Way (TM) to do it is to always have V-SYNC but use a screen with high enough refresh where you can't notice the latency. 60 Hz is probably good enough for 95% of people, and Apple is moving to 120 Hz in devices like the iPad Pro.


I have my reservations about 120Hz being the right way since if you can see tearing at 120Hz without vsync it means that you can still perform actions that the refresh rate cannot keep up with and the vsync will introduce a delay. But without experiencing it myself i cannot be 100% sure. I am nitpicky about lag and reaction though so i have a feeling i wont like it unless it really is perfect :-P.

However regardless of vsync or not, i also dislike composition because it introduces yet another source for lag and at best you are at least a frame behind - unless your window updates are synced with the composition (which wont be because if that was possible then programs would be able to affect the compositor's own performance - imagine a game running at a 30fps in windowed mode, it would cause all window updates, etc to run at 30fps too if the updates were synchronized).

So, yeah, i'd rather stick with my compositionless, vsyncless, direct to front frame buffer X11 :-P.

EDIT: there is actually a way to have composition that works without lag and that is for the GPU to do the composition itself during the monitor refresh.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: