raphnet / pj64raphnetraw

PJ64 input plugin with direct N64 controller access for raphnet adapters
http://www.raphnet.net/programmation/mupen64plus-input-raphnetraw/index_en.php
16 stars 7 forks source link

Hey You Pikachu Stuttering When VRU is plugged in #3

Open Ecksters opened 7 years ago

Ecksters commented 7 years ago

Was working with the Project64 people on this issue, turns out it's a problem with this plugin, as I tried out Hey You, Pikachu! with NRage instead, and the lag I was having went away. https://github.com/project64/project64/issues/1337

You can see the lag in this video.

The lag only occurs when the VRU is plugged in, if I use your plugin but only have 1 controller plugged in, there is no lag.

raphnet commented 7 years ago

But the VRU is not functional using the NRage plugin, correct?

I suppose this is due to the few milliseconds the back and forth through USB adds. Emulation is paused during the operation, and the game is likely not programmed to compensate for unexpected IO delays that do not occur on the real system.

But if I knew exactly how the VRU works, maybe I could think of something, but right now besides designing a new adapter working at USB High speed instead of Full speed, or discovering a way to reduce the round trip time, I don't see how I can fix this issue.

Ecksters commented 7 years ago

Correct, I just noted that even with your plugin, unplugging the VRU also resolves the issue.

I'm actually fairly confused as to why the VRU is communicating at all during the moments of extreme lag, essentially it appears to happen whenever the command is sent for the VRU to ignore input(when there's a red X on the talk icon).

While there might be some lag on level load since it's sending that level's accepted commands to the VRU, it seems like it may be possible to fix the lag whenever the VRU is told to ignore input.

theboy181 commented 3 years ago

This PJ64 input driver kills performance for the emualtor in general, maybe this is the root of the issue?