yawut / ntrview-wiiu

Janky 3DS->WiiU screen streaming
82 stars 8 forks source link

Set Priority Mode, Priority Factor, and QoS per-Profile #5

Open d4mation opened 3 years ago

d4mation commented 3 years ago

Would this be possible? Looking at the code it seems this will only get read from the 3DS section of the config file.

This could be a useful feature to do things like disabling the top/bottom screen (Assuming this is like Snickerstream in that regard), creating a high performance profile and a high quality profile to switch between, etc.

https://github.com/RattletraPM/Snickerstream/wiki/Settings-101#standard-settings

https://github.com/yawut/ntrview-wiiu/blob/b5dd39fe7e5a1210adddfcc22f75709d0f1890b5/config/Config.cpp#L81-L92

ashquarky commented 3 years ago

In theory this could be easily rigged up on the ntrview side (even adding it to the menu) - the problem is that, as far as I can tell, NTR CFW on the 3ds side will only accept those parameters on the first connection it receives, and doesn't allow changing them after that point. So in order to change them, you'd have to entirely reboot the 3ds and boot NTR CFW again..

I guess this could be avoided by having ntrview delay connecting until the user presses some button, and allow changing the performance profile in that time? Then those options could be locked out once a connection is made to avoid confusion. Still not my favorite idea, I kinda like how you can boot ntrview and it hooks straight up. Open to ideas here.

(inb4 HzMod)

d4mation commented 3 years ago

the problem is that, as far as I can tell, NTR CFW on the 3ds side will only accept those parameters on the first connection it receives, and doesn't allow changing them after that point.

That would explain some of the behavior that I was seeing. I'd adjust the ntrview settings via a text editor on my Wii U and when I reconnected I wasn't able to discern a difference.

Maybe the best solution here would be, when parsing the config file, if no profiles are detected as having customized priority mode/priority factor/qos settings then it can auto-connect but otherwise force choosing a profile first? That way users who want that more granular control can have it and those that just want it to start up quickly can have it too.

I can see the granular control being a big deal in scenarios where you want to only stream a single screen for specific games especially.