Save Idle CPU Cycles from SharpDiscordRPC #845
Merged
+1
−1
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