kenesu-h / sys-hidplus-client-rs

A client for the Nintendo Switch homebrew sysmodule "sys-hidplus", written in Rust.
GNU General Public License v3.0
11 stars 1 forks source link

[1.0.0+] Input delay in demanding games. #2

Open kenesu-h opened 3 years ago

kenesu-h commented 3 years ago

Parroted from the README: sys-hidplus is known to have input delay in demanding games. I don't have any games to personally test this with, but initial obstacles in development seem to support this; namely, input delay was present when inputs were sent at a much higher frequency than the frame rate.

I want to amend this by saying that the input delay I mentioned didn't happen all the time. Even back when inputs were being sent absurdly quickly, input delay only happened on Smash's stage and character selection screens. In training mode and normal matches, it seemed completely fine. I don't think this is enough to associate with the core issue at hand, but it makes sense in theory; demanding games would have lower framerates than normal, and if input delay was reported for them before, it might be reasonable to assume that the Switch just can't keep up with the inputs coming in.

Assuming that this is true, one way to fix this is to change the sysmodule end to notify clients about the Switch's current framerate, although a quick glance at libnx suggests that there's no way to directly retrieve it. Another way to fix this - although the user will have to do more work - is to add a framerate option to the config, so people can manually specify it based on their use cases. However, this would also be very inconsistent for games with frame drops...