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.
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.
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.
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.
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
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.
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).
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. 😞
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.
Contrary to popular opinion, i’m gonna guess graphics driver. Specifically the shader compiler.
One look at the Switch store app says everything about how sub-optimal the OS is
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.
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.
Yeah power management is the most likely culprit here. What is not shown is his battery life and thermals which I suspect are deplorable.
I remember there being a mod for cfw that unlocked a manual power setting slider and the results were similar.
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.
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
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.
Yet another problem. Steam Deck let’s me decide how much performance I need and when.
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).
That’s what default settings are for. Those who don’t care to configure them don’t need to. Those who do can.
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. 😞