Save Idle CPU Cycles from SharpDiscordRPC#845
Merged
Conversation
Member
Author
|
@sentry review |
Member
|
Need check behavior on arrpc based clients. |
Member
bagusnl
approved these changes
Dec 21, 2025
Member
Member
Author
|
@bagusnl The issue mentioned above should have been fixed with the commit above. Can you confirm it at your end? |
Merged
bagusnl
added a commit
that referenced
this pull request
Jan 4, 2026
# What's changed? - 1.83.14 - **[New]** Allow game process to be run as child process of Collapse, by @gablm - This allows stuff like Steam Overlay/controls to work. - User can enable it under Game Settings -> Advanced Settings. - **[New]** [ZZZ] DirectX 12 and Ray Tracing experimental settings, by @neon-nyan - User can use DirectX 12 and RT/Upscaling in-game natively. You will need to enable the DirectX 12 option under game settings. - Availability of certain options depends on the system you are running on. - Do note that the game **MIGHT stutter** on any new scene/sprite loads, and depending on your system it might be slow/fast. - The longer you play, the stutter should go away. - Ray tracing comparison: #853 (comment) - **[Fix]** Misc settings not loading, by @gablm - This affected stuff like Advanced game settings, command line, etc - **[Imp]** Reduce CPU usage in Discord RPC module, by @neon-nyan - More details: #845 - **[Fix]** Plugin news not reloaded on page/region refresh, by @gablm - **[Fix]** [ZZZ] Game Settings reset after using Collapse' GSP, by @shatyuka - **[Fix]** Discord RPC did not get disabled globally, by @bagusnl @neon-nyan - More details: #849 - **[Fix]** HSR Repair/Cache update method, by @neon-nyan - More details: #852 - TL;DR: Completely rewritten - **[Fix]** Sophon not resuming update, by @neon-nyan - After cancelling/pausing game update, the launcher should now perform checks on which assets already updated so only the necessary files are getting downloaded. - **[Fix]** [ZZZ] Deleted assets gets redownloaded on update, by @neon-nyan - More details: #854 - **[Fix]** Game update does not work on games without separate audio package, by @gablm - **[Fix]** Playtime counter not stopped after user switched game/region mid-session, by @gablm - **[Fix]** Directory might not get created when updating game through Sophon, by @neon-nyan - **[Fix]** Main Page's Carousel did not get stopped/paused when told to, by @bagusnl - Carousel now should get paused if you sent Collapse to tray or when Collapse is not on the foreground. - This is interim fix while the whole background subsystem is getting rewritten by @neon-nyan. - More details: #846 ### Templates <details> <summary>Changelog Prefixes</summary> ``` **[New]** **[Imp]** **[Fix]** **[Loc]** **[Doc]** ``` </details>
Merged
bagusnl
added a commit
that referenced
this pull request
Jan 10, 2026
# What's changed? - 1.83.14 - **[New]** Allow game process to be run as child process of Collapse, by @gablm - This allows stuff like Steam Overlay/controls to work. - User can enable it under Game Settings -> Advanced Settings. - **[New]** [ZZZ] DirectX 12 and Ray Tracing experimental settings, by @neon-nyan - User can use DirectX 12 and RT/Upscaling in-game natively. You will need to enable the DirectX 12 option under game settings. - Availability of certain options depends on the system you are running on. - Do note that the game **MIGHT stutter** on any new scene/sprite loads, and depending on your system it might be slow/fast. - The longer you play, the stutter should go away. - Ray tracing comparison: #853 (comment) - **[Fix]** Misc settings not loading, by @gablm - This affected stuff like Advanced game settings, command line, etc - **[Imp]** Reduce CPU usage in Discord RPC module, by @neon-nyan - More details: #845 - **[Fix]** Plugin news not reloaded on page/region refresh, by @gablm - **[Fix]** [ZZZ] Game Settings reset after using Collapse' GSP, by @shatyuka - **[Fix]** Discord RPC did not get disabled globally, by @bagusnl @neon-nyan - More details: #849 - **[Fix]** HSR Repair/Cache update method, by @neon-nyan - More details: #852 - TL;DR: Completely rewritten - **[Fix]** Sophon not resuming update, by @neon-nyan - After cancelling/pausing game update, the launcher should now perform checks on which assets already updated so only the necessary files are getting downloaded. - **[Fix]** [ZZZ] Deleted assets gets redownloaded on update, by @neon-nyan - More details: #854 - **[Fix]** Game update does not work on games without separate audio package, by @gablm - **[Fix]** Playtime counter not stopped after user switched game/region mid-session, by @gablm - **[Fix]** Directory might not get created when updating game through Sophon, by @neon-nyan - **[Fix]** Main Page's Carousel did not get stopped/paused when told to, by @bagusnl - Carousel now should get paused if you sent Collapse to tray or when Collapse is not on the foreground. - This is interim fix while the whole background subsystem is getting rewritten by @neon-nyan. - More details: #846 ### Templates <details> <summary>Changelog Prefixes</summary> ``` **[New]** **[Imp]** **[Fix]** **[Loc]** **[Doc]** ``` </details>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Main Goal
This PR updates the RPC submodule which contains CPU cycles fix on idle. This switches the loop-based routine on reading RPC frames to timer-based routine. Both previous loop-based and new timer-based routine uses the same Poll rate for 1000ms each. We also switched the buffer allocation to rent-based buffer.
The difference between these two methods are, loop-based uses WaitHandleEvent to Sleep on background threads with endless loop routine, thus continuously wasting thread time on each poll rate (every 1000ms) while performing RPC update. Timer-based routine instead, uses Timer to trigger the RPC update on each poll rate (every 1000ms) and will end the thread once it's done.
The behavior shouldn't be affected as it only switching the loop routine with timer and the poll rate for frame reading is still the same.
PR Status :
Templates
Changelog Prefixes