For last few days I was reworking NX-FPS, Status Monitor and SaltyNX to support passing FPS data via SharedMemory.
SaltyNX is the one hosting SharedMemory.
Status Monitor and NX-FPS are taking copy-handle from SaltyNX and mapping memory.
Pros of this solution:
- Debugger is not more needed to read data, so dmnt:cht and svcdebug are completely gone from Status Monitor. This solves issues with microstutterings (not visible in video, but hearable from audio) and using it in the same time with other debuggers
- NX-FPS plugin now is not writing anything to sdcard
- Status Monitor now is not reading anything from sdcard (detection is handled by using SharedMemory).
This won't change existing SaltyNX compability issues.
Now is going through test phase if there is no memory leak or mishandling system.
If you want to test it yourself, you must compile SaltyNX, Status Monitor and NX-FPS from those PRs.
https://github.com/masagrator/SaltyNX/pull/22
https://github.com/masagrator/Status-Monitor-Overlay/pull/22
https://github.com/masagrator/NX-FPS/pull/7
Only known issue is that SaltyNX is not handling at all issues with SharedMemory reserved offsets.
This will impact usage ONLY if somebody would like to take advantage of SharedMemory and it would use it in combination with other plugin using SharedMemory like NX-FPS since you won't be able to determine what offset should be used.
This is something I want to fix before releasing it officially.