HN user

andreyv

248 karma
Posts3
Comments55
View on HN

First person shooters. Vertical synchronization causes a noticeable output delay.

For example, with a 60 Hz display and vsync, game actions might be shown up to 16 ms later than without vsync, which is ages in FPS.

Right — ferror() does not set errno, and so perror() is not appropriate here. fprintf(stderr, ...) would be better.

In C, and many other languages, the file stream error state is saved after each operation, so you can skip error checking on every output line and only do

  if (fflush(stdout) != 0 || ferror(stdout) != 0)
  {
    perror("stdout");
    return EXIT_FAILURE;
  }
at the end of the program. The same should be done for stderr as well.

In GNU programs you can use atexit(close_stdout) to do this automatically.

So there is no way to abort a bash script if something like <(sort nonexistent) fails.

The process ID of the last executed background command in Bash is available as $!.

  cat <(sort nonexistent)
  wait $! || echo fail
gives
  sort: cannot read: nonexistent: No such file or directory
  fail

Dell also removed trackpoint and all touchpad buttons, and made up/down arrow keys half height on the new Latitude laptops.

These are not the changes one would expect to see in a professional-grade laptop. On the other hand, the Lenovo line looks good in this regard.

In fast-paced games it is essential to disable vertical synchronization as well, trading possible tearing for less input lag.

Does Wayland support this?

Forced composition and vsync is a mistake for gaming.

The added output latency is unacceptable, especially for first-person shooters. A little tearing is nothing compared to the vsync lag.

If Wayland wants to replace X.org, then it should support also this use case. But full composition being mandatory isn't very encouraging in regard to this.

One counterargument is that for each ABI you need a different set of libraries loaded in memory.

So, if some programs in the system use the 64-bit ABI and some use x32, then memory usage may substantially increase. And, of course, this also affects CPU caches.