-
-
Notifications
You must be signed in to change notification settings - Fork 357
feat: Add Experimental CPU / GPU power control to AYN, Retroid Pocket and Samsung Devices #1698
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
joshuatam
wants to merge
57
commits into
utkarshdalal:master
Choose a base branch
from
joshuatam:feat/experimental-power-control
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 54 commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
1824972
feat: Add Experimental CPU / GPU power control to AYN, Retroid Pocket…
joshuatam 26937d5
implement save / restore current performance profile
joshuatam b638139
feat: add RAM frequency slider for samsung devices (#6)
AndreVto 35678a4
update translations
joshuatam ea23561
Update app/src/main/java/app/gamenative/powercontrol/README.md
joshuatam 392648c
Update app/src/main/java/app/gamenative/powercontrol/drivers/PServerD…
joshuatam 1c6d040
refactor PerformanceDriver to avoid unnecessary override
joshuatam 9a2ba2a
add Policy based CPU control to PServerDriver
joshuatam 932ebd5
Add CPU affinity and process pinning for performance
joshuatam cefbdb5
update README
joshuatam 576d057
Update app/src/main/java/app/gamenative/ui/screen/xserver/XServerScre…
joshuatam 35ec9d7
Add experimental auto-tuning for dynamic performance control
joshuatam 6c46268
update readme for auto-tuning features
joshuatam dae73fd
addressed AI comments
joshuatam ee31654
addressed AI comments
joshuatam 8782fad
Optimize auto-tuner with adaptive tuning intervals
joshuatam e648968
Revert "Optimize auto-tuner with adaptive tuning intervals"
joshuatam e381c99
fix quick menu logic
joshuatam cbeb8e2
set custom profile when toggling auto tuning option
joshuatam f6959a5
fix saving PowerProfile include default values
joshuatam 52fca4c
add bus tuning to PerformanceAutoTuner
joshuatam 704979a
fallback to default profile when json parsing failed, rename functions
joshuatam 4a73099
update pinning logic based on cpu cluster count
joshuatam 500f7ec
Update app/src/main/java/app/gamenative/powercontrol/PowerManager.kt
joshuatam 31b25da
Update app/src/main/java/app/gamenative/powercontrol/README.md
joshuatam d19ed4c
Merge remote-tracking branch 'utkarshdalal/master' into feat/experime…
joshuatam aa28dd3
Refactor background process pinning for improved reliability and comp…
joshuatam e18b4e3
update tasksetMaskFormat detection
joshuatam 919729e
Merge branch 'master' into feat/experimental-power-control
joshuatam e3cb0a4
do not pin main app process to any cores to avoid ANR
joshuatam de8944e
add tuning strategy option (default balanced), start tuning fps count…
joshuatam bfb277a
address AI comments
joshuatam 95d75eb
update chinese translation
joshuatam 9d5214d
Merge remote-tracking branch 'utkarshdalal/master' into feat/experime…
joshuatam 94c977a
fix QuickMenu
joshuatam ac76594
update game process detection, add more delay to pinGameWithRetry
joshuatam d7fe29d
Merge remote-tracking branch 'utkarshdalal/master' into feat/experime…
joshuatam 943630b
Merge remote-tracking branch 'utkarshdalal/master' into feat/experime…
joshuatam cead5cc
move power control tab after stats tab
joshuatam f924d3c
reset driver on PowerManager initialize
joshuatam c4c9706
remove samsung driver reset function
joshuatam f9eaaea
refactor PServerDriver reset logic
joshuatam f1d1eea
put PServerDriver reset into background to avoid blocking
joshuatam dd12de2
Update app/src/main/java/app/gamenative/powercontrol/drivers/PServerD…
joshuatam 805afd1
fix ai code error
joshuatam 1d7ef46
add pause / rersume logic to PowerManager
joshuatam a16ee9c
remove unnecessary app process reset
joshuatam a52c182
preserve powerprofile on pause / resume
joshuatam d72127f
move PowerManager pause / resume to MainActivity
joshuatam ddad6c4
add isGameStarted to guard pause / resume
joshuatam 2c32408
Update app/src/main/java/app/gamenative/powercontrol/PowerManager.kt
joshuatam 37b7a61
update third part notices for samsung sdk and update proguard for sam…
joshuatam 72a840f
refactor PServer driver for robustness and asynchronous execution
joshuatam e0cfbd1
handle race condition of start / stop rapidly
joshuatam e311e6a
remove unnecessary catch in stop
joshuatam 6106782
speed up stop by wrapping beginUpdate / commitInternal
joshuatam 6a335dc
check interrupted in stop, add skipWarmupCycles to skip on resume
joshuatam File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
Wrap
PowerManager.stop()inrunCatchingfor consistency with the teardown design.The comment at line 233 states "per-step catch so one failing teardown doesn't prevent the rest from running," yet
PowerManager.stop()is the only cleanup step not wrapped inrunCatching. If it throws, the remaining cleanup (nullingxEnvironment, clearingActiveGameRegistry, resettingSteamServicestate) is skipped. Current driver implementations catch their own exceptions, but a future driver might not.🛡️ Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents