• Wanderer@r.nf
      link
      fedilink
      English
      arrow-up
      35
      ·
      edit-2
      6 days ago

      esync = alpha version

      fsync = beta version

      ntsync = final release

      Ntsync got rid of performance degradation that can occur with some games under esync and fsync and that’s the why it’s allowed to go in the mainline kernel, it has no downside.

      • ohshit604@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 days ago

        Ntsync got rid of performance degradation that can occur with some games under esync and fsync

        This explains SO MUCH! I was getting frustrated when games start out perfectly fine than 30 minutes in frames would drop significantly.

    • Laser@feddit.org
      link
      fedilink
      arrow-up
      26
      ·
      6 days ago

      fsync isn’t faster than ntsync, it’s merely a workaround to match Linux to Windows synchronization primitives. From ntsync’s official description:

      It exists because implementation in user-space, using existing tools, cannot match Windows performance while offering accurate semantics.

      So without this, you either have a huge perfomance hit in case of an accurate implementation or you have good performance, but might run into edge cases where software doesn’t work well or at all because it’s not accurate (see https://github.com/ValveSoftware/Proton/issues/2922 for examples)

        • Laser@feddit.org
          link
          fedilink
          arrow-up
          5
          ·
          edit-2
          5 days ago

          I don’t think his statement is true though. If https://www.reddit.com/r/linux_gaming/comments/1ce7z19/gaming_on_linux_ep131_ntsync_vs_fsync_nobara_39/l1ho8od/ is not manipulated in any way, games with lots of these calls still get big improvements with ntsync over fsync (about 30% in this particular case, which is a massive boost). So while nobody can rule out that his statement may be true on average or in general, there are still cases where ntsync offers a tangible advantage – be it improved FPS or the fact that the game runs at all.

          Edit: in the video that the thread is about, fsync didn’t beat ntsync in a single one (or I missed it when jumping through it). In the best one, they were exactly tied. Sure, the difference wasn’t really big, but again there are titles not working with fsync.

          However, I want to stress that I’m not trying to talk about fsync. It’s a good solution that significantly improved performance. But ntsync is, from everything I’ve seen, almost always better; how much depends on the case, and it never seems to be worse.

          • FooBarrington@lemmy.world
            link
            fedilink
            arrow-up
            4
            ·
            5 days ago

            Well, he’s talking about the kernel they are using in SteamOS. The Deck OS is also being extended to other handhelds.

              • FooBarrington@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                5 days ago

                Not sure there’s a better way to say it. I guess “the SteamOS fork of the Linux kernel” would be more explicit, but I assume most people who would read this are aware that SteamOS is built on Linux.

    • LeFantome@programming.dev
      link
      fedilink
      arrow-up
      18
      ·
      6 days ago

      I believe that NTsync delivers better compatibility. I do not remember the details but Fsync can cause problems sometimes. So this is more like performance without compromise.

      Now that it is in the kernel, I would expect Wine to move to it and for Proton to follow suit.

      One less hack to maintain.