• AlolanYoda@mander.xyz
    link
    fedilink
    arrow-up
    125
    ·
    edit-2
    8 months ago

    That’s so weird. This isn’t about Nintendo hardware sucking: it’s running on an actual Nintendo Switch, except instead of it using the Switch’s OS and it running the game, it goes Linux -> Emulator (yuzu) -> game (running from an actual cart through a dumper) and somehow that’s faster.

    It’s a software issue.

    Is it the Nintendo Switch OS which is needlessly bloated? It does nothing, how can it be heavier than an actual Linux Distribution?

    I’m not familiar with how the Switch works, but the dumper has a FPGA for decoding the cartridge. Is this something that the Switch has to do in real time in software, and maybe that’s where the performance loss comes from? It seems unlikely but I know nothing of the Switch’s internals or software. In fact let’s just say I know nothing at all, I’m just an idiot.

    PS: Everyone who buys used Switch games should see this until the end. The dumper allows you to extract a certificate file from a cartridge. Basically, someone malicious could buy a new game, dump it including the certificate file, clone it, and resell the game. Then they would be able to play online with it. If you buy the original copy afterwards and play online, you are likely going to be the one whose certificate is flagged as fake, leading to you being banned.

    Also, they could just sell multiple copies of cloned games and you wouldn’t be able to tell the difference… Except for the certificate, which would be the same and would signal Nintendo that you (and like 10 other people) are playing a fake game, unbeknownst to you.

    • 🇰 🌀 🇱 🇦 🇳 🇦 🇰 ℹ️@yiffit.net
      link
      fedilink
      English
      arrow-up
      53
      ·
      edit-2
      8 months ago

      The switch natively can tune the performance, which you might notice going from docked to handheld mode and seeing the quality dip.

      The emulated setup is probably bypassing some of this, which would likely have a “safety” zone it never leaves to make sure the performance is always smooth and the battery isn’t being drained too fast, and it’s likely pretty conservative.

      The Quest 3 does the same thing and using some tools, you can adjust the hidden visual settings of a game to make it look better or run faster at the cost of some more heat and battery usage. Natively, it really holds back what it will allow the software to do with the hardware because it’s focused more on battery life, and cranking up, say, Wrath of Asgard 2, you might only get an hour of battery but it looks and runs way better.

        • 🇰 🌀 🇱 🇦 🇳 🇦 🇰 ℹ️@yiffit.net
          link
          fedilink
          English
          arrow-up
          41
          ·
          edit-2
          8 months ago

          I agree, but I mean… Nintendo’s primary audience are children and adults who aren’t necessarily tech savvy. The Deck’s primary audience is practically the exact opposite. Having it work is more important than squeezing out every last ounce of power for most consumers. The same applies to the Quest (though it is much simpler to unlock that power if you’re a dev or power user than a Nintendo product).

            • 🇰 🌀 🇱 🇦 🇳 🇦 🇰 ℹ️@yiffit.net
              link
              fedilink
              English
              arrow-up
              10
              ·
              edit-2
              8 months ago

              I just think of giving some mercy to the tech support team by not having the options where someone who doesn’t know what they’re doing could fiddle with it. The way you enable developer options in Android would be nice though. Fun even; it’s like finding an Easter egg.

              In a perfect world, we’d be able to just use the hardware however the fuck we wanted without any barriers. 😞

          • tslnox@reddthat.com
            link
            fedilink
            arrow-up
            5
            ·
            8 months ago

            I love the phrasing in the parentheses, which can be read as saying you’re either dev/power user OR a Nintendo product.

      • TwilightVulpine@kbin.social
        link
        fedilink
        arrow-up
        18
        ·
        8 months ago

        Ah, that’s more reasonable than simply being a matter of system bloat. They should test for battery duration while doing that.

      • scratchee@feddit.uk
        link
        fedilink
        English
        arrow-up
        16
        ·
        8 months ago

        Yeah, the switch has an entire core locked off and everything is downclocked to improve battery life and control temperatures. No doubt this emulation gives everything more clock cycles (and perhaps an extra core?). Probably very short on battery and possibly very hot too.

      • thomas@lemmy.ca
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        Is it possible that the native card reader is slower than the usb-c one ? Maybe a bus bandwidth issue ?

        • 🇰 🌀 🇱 🇦 🇳 🇦 🇰 ℹ️@yiffit.net
          link
          fedilink
          English
          arrow-up
          8
          ·
          edit-2
          8 months ago

          I would assume the cart slot is directly connected to the bus and should be faster than going through the USB port, but that’s just a wild guess since I don’t know enough about hardware let alone the specifics of the Switch’s.

          • Natanael@slrpnk.net
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            8 months ago

            The card reader isn’t super fast actually, but most games for the switch don’t rely on storage throughput (few heavy assets, etc).

    • ReversalHatchery@beehaw.org
      link
      fedilink
      English
      arrow-up
      27
      ·
      8 months ago

      It does nothing, how can it be heavier than an actual Linux Distribution?

      Are you sure about that? Data mining, even to the extents that take toll on user experience, is a common thing in consumer electronics

      • AlolanYoda@mander.xyz
        link
        fedilink
        arrow-up
        12
        ·
        8 months ago

        To be honest I naively assumed Nintendo not to be the type of company (… Or even competent enough) to implement the type of data mining that would impact performance lol

    • _Lory98_@discuss.tchncs.de
      link
      fedilink
      arrow-up
      18
      ·
      8 months ago

      Is it the Nintendo Switch OS which is needlessly bloated? It does nothing, how can it be heavier than an actual Linux Distribution?

      AFAIK the OS is based on a microkernel and the modules are rather small, so there’s probably a lot of overhead for IPC. Also I guess the power management is quite aggressive to increase battery life and lower heat.

      • realitista@lemm.ee
        link
        fedilink
        arrow-up
        15
        ·
        edit-2
        8 months ago

        Yeah power management is the most likely culprit here. What is not shown is his battery life and thermals which I suspect are deplorable.

      • V ‎ ‎ @beehaw.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        8 months ago

        Additionally, as a high level emulator Yuzu sacrifices some accuracy for speed. It’s possible that this allows it to also be faster than the official implementation.

    • gens@programming.dev
      link
      fedilink
      arrow-up
      9
      ·
      8 months ago

      Contrary to popular opinion, i’m gonna guess graphics driver. Specifically the shader compiler.

    • eveninghere@beehaw.org
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      8 months ago

      This is actually not surprising to me. I heard that Windows used to perform better on a virtual machine with a Linux host. The Linux kernel is very mature, and virtual machines (or emulators) use tricks to improve performance.

      • Trainguyrom@reddthat.com
        link
        fedilink
        English
        arrow-up
        5
        ·
        8 months ago

        This has been big on some of AMD’s workstation and server chips because Windows generally doesn’t know what to do with the unexpected NUMA Node layouts. Or the scheduler just can’t handle 128 cores. So abstracting that away with Linux’s superior scheduler can help significantly on certain hardware

      • Natanael@slrpnk.net
        link
        fedilink
        arrow-up
        3
        ·
        8 months ago

        I think a bigger factor is the memory and resources reserved for the account system / store / online services, etc. But also, yeah the emulator might be more efficient on a few calls

    • DarkThoughts@fedia.io
      link
      fedilink
      arrow-up
      3
      ·
      8 months ago

      At that point why not run the Java version when you’re using Linux anyway? Java apps run great on Linux (compared to Windows) and this also allows them to use the Fabric based performance mods too which would boost it even more.

      • AlolanYoda@mander.xyz
        link
        fedilink
        arrow-up
        2
        ·
        8 months ago

        Sure, this makes sense for Minecraft, and the video itself only compared Minecraft (for fear of being struck by the Nintendo Ninjas, which is an interesting fear considering everything else in the video). I’d love to see if other games, like BoTW or Pokémon S/V, have similar performance enhancements.

  • yarr@feddit.nl
    link
    fedilink
    English
    arrow-up
    77
    ·
    8 months ago

    Feeling inspired, I set out to push the limits of recursive emulation myself. My first step was getting a Linux emulator running inside Minecraft. Yes, you heard me right - Linux running inside Minecraft. Once I had achieved that, the natural progression was to install Yuzu on this virtual version of Linux. It took some trial and error, but eventually, I managed to do just that.

    At this point, I could hardly contain my excitement. The results were impressive; the performance increase was noticeable compared to previous iterations. But for me, that wasn’t enough. I wanted more. So, in true recursion fashion, I installed another Linux emulator within this Minecraft-embedded Yuzu environment. This new iteration had its own Yuzu setup, and thus the cycle continued.

    As layers upon layers of nested Linux environments grew, the performance kept improving exponentially. Every time I upgraded the recursion level, the FPS went through the roof. Eventually, it reached unbelievable heights. Today, with multiple levels of recursion, I am proud to announce that the performance of this nestled setup is now over 9000 FPS!

    • Natanael@slrpnk.net
      link
      fedilink
      arrow-up
      13
      ·
      8 months ago

      Unironically doubly accurate meme because in that movie time ran faster in dreams within dreams

        • Storksforlegs@beehaw.org
          link
          fedilink
          English
          arrow-up
          9
          ·
          edit-2
          8 months ago

          The hardware and corporate practises i would agree, (especially the hardware - extra shitty considering its aimed at families and kids and it wears out so fast)

          But I have to disagree about the games. Their flagship games are consistently very good (so long as you’re a fan of the genres).

    • pearsaltchocolatebar
      link
      fedilink
      arrow-up
      4
      ·
      8 months ago

      Unfortunately, the copyright issue was about a decryption key, not about Yuzu providing a better product.

      • TwilightVulpine@kbin.social
        link
        fedilink
        arrow-up
        9
        ·
        8 months ago

        It’s downright bizarre that apparently someone can own a physical copy of a game and not be allowed to dump them. DMCA and customer rights are broken.

      • Mic_Check_One_Two@reddthat.com
        link
        fedilink
        arrow-up
        8
        ·
        8 months ago

        That copyright thing was never actually tested in court though, because they settled before the trial began. The “copyrighted keys” argument was what Nintendo originally used to bring the lawsuit, but it was never actually tested because it never went to trial. In fact, many legal experts say it likely would have been thrown out in Yuzu’s favor. But Yuzu didn’t have a legal fund, so they couldn’t afford to actually take it to court and fight it.

  • neoman4426@fedia.io
    link
    fedilink
    arrow-up
    4
    ·
    8 months ago

    Interesting. I wonder if it’s a universal thing that’ll happen to varying degrees on any game, or specific to Minecraft (or ones in whatever necessary way “similar”) with other games performing better natively

  • sanzky@beehaw.org
    link
    fedilink
    arrow-up
    1
    ·
    8 months ago

    is this really an emulator in the traditional sense? (implementing certain hardware architecture using software) or are they just implementing some software to read and run games in the host hardware? I would be very surprised if this was a true emulator, but I have no idea about the current scenario.