revert all refresh rate changes

This commit is contained in:
Chloe committed 2025-01-23 20:14:52 -07:00
1 parent 986e33ce03
commit 34e324c54d
3 files changed
+18 -17

No files matched your search

@@ -70,7 +70,7 @@ class GeometryDashActivity : AppCompatActivity(), Cocos2dxHelper.Cocos2dxHelperL
private var mHasWindowFocus = false private var mHasWindowFocus = false
private var displayMode = DisplayMode.DEFAULT private var displayMode = DisplayMode.DEFAULT
private var mChosenDisplayRate: Float? = null private var mForceRefreshRate = false
private var mLimitedRefreshRate: Int? = null private var mLimitedRefreshRate: Int? = null
private var mAspectRatio = 0.0f private var mAspectRatio = 0.0f
private var mScreenZoom = 1.0f private var mScreenZoom = 1.0f
@@ -428,7 +428,7 @@ class GeometryDashActivity : AppCompatActivity(), Cocos2dxHelper.Cocos2dxHelperL
val renderer = Cocos2dxRenderer(glSurfaceView) val renderer = Cocos2dxRenderer(glSurfaceView)
glSurfaceView.setCocos2dxRenderer(renderer) glSurfaceView.setCocos2dxRenderer(renderer)
renderer.setFrameRate = mChosenDisplayRate renderer.setFrameRate = mForceRefreshRate
val frameRate = mLimitedRefreshRate val frameRate = mLimitedRefreshRate
if (frameRate != null) { if (frameRate != null) {
@@ -457,15 +457,16 @@ class GeometryDashActivity : AppCompatActivity(), Cocos2dxHelper.Cocos2dxHelperL
val limitedRefreshRate = preferenceUtils.getInt(PreferenceUtils.Key.LIMIT_FRAME_RATE).takeIf { it != 0 } val limitedRefreshRate = preferenceUtils.getInt(PreferenceUtils.Key.LIMIT_FRAME_RATE).takeIf { it != 0 }
mLimitedRefreshRate = limitedRefreshRate mLimitedRefreshRate = limitedRefreshRate
val forceRefreshRate = preferenceUtils.getBoolean(PreferenceUtils.Key.FORCE_HRR) mForceRefreshRate = preferenceUtils.getBoolean(PreferenceUtils.Key.FORCE_HRR)
if (forceRefreshRate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { if (mForceRefreshRate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
val chosenDisplay = display.supportedModes?.maxByOrNull { it.refreshRate } val chosenDisplay = display.supportedModes?.maxByOrNull { it.refreshRate }
if (chosenDisplay != null) { if (chosenDisplay != null) {
var chosenRefreshRate = chosenDisplay.refreshRate var chosenRefreshRate = chosenDisplay.refreshRate
println("Forcing a refresh rate of $chosenRefreshRate (display ${chosenDisplay.modeId})") println("setupUIState: Forcing a refresh rate of $chosenRefreshRate (display ${chosenDisplay.modeId})")
window.attributes.preferredRefreshRate = chosenRefreshRate window.attributes.preferredRefreshRate = chosenRefreshRate
mChosenDisplayRate = chosenRefreshRate } else {
println("setupUIState could not find a display to select refresh rate of...")
} }
} }
@@ -120,17 +120,18 @@ class Cocos2dxGLSurfaceView(context: Context) : GLSurfaceView(context) {
} }
@RequiresApi(Build.VERSION_CODES.R) @RequiresApi(Build.VERSION_CODES.R)
fun updateRefreshRate(refreshRate: Float) { fun updateRefreshRate() {
var chosenRefreshRate = refreshRate
val chosenDisplay = display.supportedModes?.maxByOrNull { it.refreshRate } val chosenDisplay = display.supportedModes?.maxByOrNull { it.refreshRate }
if (chosenDisplay != null && chosenDisplay.refreshRate > refreshRate) { if (chosenDisplay == null) {
println("updateRefreshRate found a higher refresh rate (${chosenDisplay.modeId}: ${chosenDisplay.refreshRate} > $refreshRate)") println("updateRefreshRate failed to find a display to maximize refresh rate...")
chosenRefreshRate = chosenDisplay.refreshRate return
} }
holder.surface.setFrameRate(chosenRefreshRate, Surface.FRAME_RATE_COMPATIBILITY_DEFAULT) val chosenRefreshRate = chosenDisplay.refreshRate
println("updateRefreshRate: selecting refresh rate of ${chosenDisplay.refreshRate} (display ${chosenDisplay.modeId})")
holder.surface.setFrameRate(chosenRefreshRate, Surface.FRAME_RATE_COMPATIBILITY_DEFAULT)
if (isAttachedToWindow) { if (isAttachedToWindow) {
(context as Activity).window.attributes.preferredRefreshRate = chosenRefreshRate (context as Activity).window.attributes.preferredRefreshRate = chosenRefreshRate
} }
@@ -64,7 +64,7 @@ class Cocos2dxRenderer(private var handler: Cocos2dxGLSurfaceView) : GLSurfaceVi
private var screenWidth = 0 private var screenWidth = 0
private var screenHeight = 0 private var screenHeight = 0
var sendResizeEvents = false var sendResizeEvents = false
var setFrameRate: Float? = null var setFrameRate = false
private var mAnimationInterval: Long? = null private var mAnimationInterval: Long? = null
fun limitFrameRate(rate: Int) { fun limitFrameRate(rate: Int) {
@@ -82,9 +82,8 @@ class Cocos2dxRenderer(private var handler: Cocos2dxGLSurfaceView) : GLSurfaceVi
} }
override fun onSurfaceChanged(gl10: GL10?, width: Int, height: Int) { override fun onSurfaceChanged(gl10: GL10?, width: Int, height: Int) {
val chosenRefreshRate = setFrameRate if (setFrameRate && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
if (chosenRefreshRate != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { handler.updateRefreshRate()
handler.updateRefreshRate(chosenRefreshRate)
} }
println("renderer surfaceChanged: ${width}x${height}@${handler.display.refreshRate}fps") println("renderer surfaceChanged: ${width}x${height}@${handler.display.refreshRate}fps")