feat: add mini performance overlay and GPU composition toggle for Android TV#429
Open
PacificSilent wants to merge 1 commit intoClassicOldSong:moonlight-noirfrom
Open
feat: add mini performance overlay and GPU composition toggle for Android TV#429PacificSilent wants to merge 1 commit intoClassicOldSong:moonlight-noirfrom
PacificSilent wants to merge 1 commit intoClassicOldSong:moonlight-noirfrom
Conversation
This was referenced Oct 13, 2025
Owner
|
Thank you for the contribution, but this might not be needed when a bug in frame timing is fixed. I'll leave this PR open for now in case it doesn't fix the problem. |
|
I am still seeing unplayable stutters on mi TV Stick 4k gen 2 on the latest release and the latest beta. Toggling the overlay makes it butter smooth |
|
Tried building your branch, now it works very well (2k 60fps with no stutters). Thank you! This little fix should definitely be merged. |
|
Where can I download the APK with these changes? I don't have any programming knowledge, but I'd like to use this modified version. |
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.
Force GPU Composition for Android TV + Mini Performance Overlay
Summary
This PR adds two features to improve the Android TV experience:
Force GPU Composition
Problem it solves
On Android TV, some devices experience frame synchronization issues that cause:
Solution
Adds an invisible
TextViewthat forces Android to use GPU composition instead of hardware overlays, improving frame synchronization.Implementation:
activity_game.xmlWhen to enable:
Modified files
app/src/main/res/layout/activity_game.xml- Invisible TextViewapp/src/main/java/com/limelight/Game.java- Visibility controlapp/src/main/java/com/limelight/preferences/PreferenceConfiguration.java- Configapp/src/main/res/xml/preferences.xml- UI settingsapp/src/main/res/values/strings.xml- StringsMini Performance Overlay
Features
BW: 109M/s PL: 0% Net: 7ms | Dec: 109ms XX.XX FPSDisplayed metrics
Modified files
app/src/main/res/layout/activity_game.xml- Overlay TextViewapp/src/main/java/com/limelight/Game.java- Metrics updateapp/src/main/java/com/limelight/binding/video/MediaCodecDecoderRenderer.java- FPS trackingapp/src/main/java/com/limelight/preferences/StreamSettings.java- Mutual exclusionapp/src/main/res/xml/preferences.xml- UI settingsapp/src/main/res/values/strings.xml- StringsTechnical Changes
MediaCodecDecoderRenderer.java
Game.java
StreamSettings.java
Testing
Force GPU Composition:
Mini Overlay:
Compatibility
✅ Android TV (main beneficiary)
✅ Standard Android devices
✅ Backward compatible