Thanks for the great info regarding the pitfalls of running docked profiles in handheld modes (aka "game boost"). Nintendo, however, can do things that the emulation community cannot, therefore I wonder if we are over-estimating the difficulty. It seems to me that Nintendo could remap some controller inputs and system settings to support the performance boost automatically without the games being any wiser:
- Exclude games that requires handheld mode (e.g., Disney Tsum Tsum Festival)
- I don't know if there's any system flag for a game to declare that it can't run in docked mode
- If there is, these games can be excluded automatically (no patch needed)
- If not, blacklist these games from performance boost
- Remap controller inputs
- Disable the touchscreen
- Declare to the game that the on-rail joycons are detached; pass all joystick/button events, sensor readings, RFID data, and HD Rumble streams
If you disable the touchscreen in handheld mode, you break touchscreen games, like Mario Maker. If you leave it powered on, and then use it to emulate motion controls to the game that believes it is docked when it isn't you
might find a config that works reliably (again, Mario Maker) but it will still break games that don't use motion controls to handle touchscreen-like inputs - many games offer touch support for menus (and I wish it was more common in strategy games)
- For games that require joycons to be physically detached (e.g., Fitness Boxing):
- Usually these games already provide on-screen instructions to detach the joycons; the players won't be confused
- But if necessary, blacklist these games from performance boost
- Set "TV" resolution to 720p, and route the video from DP (USB-C) to eDP (build-in display)
- Set sound mode to stereo, and route the audio to internal speakers
So unless I'm missing something, Nintendo should be able to apply the performance boost (running docked profiles in handheld) automatically. Even if a
handful of games need to be blacklisted, that would be a lot easier to do than whitelisting
thousands of games to be boosted. (MS already gave up on adding more titles to "FPS boost" after about 130 games.)
The appeal of running Drake Handheld in a mode which pretends to be Classic Docked (with its faster clocks) is that you can get a boost mode that reliably works across the board because games have already been tested in that configuration.
Thing is that even if there is a setup that reliably works, it only boosts handheld mode, and I'm sure Nintendo want to boost docked as well. The only way to boost docked mode without patching games is to run games at faster clocks (and with more RAM) than they request. Nintendo could do that 1) across the board, by default, 2) using a whitelist, 3) with some user-controlled option, or 4) some combination 2+3
At the point at which that is the route for docked mode, it is the simplest path for handheld mode as well. The clocks that Nintendo uses in Drake Handheld Boost mode might, indeed, match the clocks used in Classic Docked, but I don't think they'll lie to handheld mode about running in docked.
The advantage that this method has is you can actually get
better than docked performance in handheld, or just boost GPU or just CPU for games that might benefit from just one, without the power consumption that boosting both might cost.