diff --git a/app/src/main/cpp/waylandcomp/src/compositor.c b/app/src/main/cpp/waylandcomp/src/compositor.c index 02477724b..d84e73de5 100644 --- a/app/src/main/cpp/waylandcomp/src/compositor.c +++ b/app/src/main/cpp/waylandcomp/src/compositor.c @@ -268,7 +268,7 @@ static struct wl_event_source *g_fallback_timer; static int g_fallback_armed; volatile int g_fps_limit; -/* fps limit -1 (Performance mode without a limit): replaced buffers go back to the client at once instead of once per refresh. */ +/* fps limit -1 (phone output, not mirrored): replaced buffers go back to the client at once instead of once per refresh. */ volatile int g_release_unpaced; volatile int g_hide_shell; diff --git a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt index c6daf0da3..38c3d4313 100644 --- a/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt +++ b/app/src/main/java/com/droiddeck/launcher/FrontEndActivity.kt @@ -401,7 +401,6 @@ class FrontEndActivity : ComponentActivity() { private var theme by mutableStateOf("graphite") private var appScale by mutableStateOf(com.droiddeck.launcher.core.AppUiPrefs.DEFAULT_SCALE) private var hdrOn by mutableStateOf(false) - private var performanceMode by mutableStateOf(false) private var upscaler by mutableStateOf(0) private var upscaleSharpness by mutableStateOf(75) private var hdrReason by mutableStateOf(null) @@ -1810,7 +1809,7 @@ class FrontEndActivity : ComponentActivity() { ModeSettings( mode = mode, resolution = resolution, panelSize = com.droiddeck.launcher.session.SessionDisplay.panelSize(this), - hdr = hdrOn, hdrReason = hdrReason, performanceMode = performanceMode, + hdr = hdrOn, hdrReason = hdrReason, upscaler = upscaler, upscaleSharpness = upscaleSharpness, gpuDrivers = drivers.summary(), touchMode = touchMode, @@ -1875,7 +1874,6 @@ class FrontEndActivity : ComponentActivity() { onResolution = { value -> SessionPrefs.setResolutionChoice(this, mode, value); resolution = value }, onHdr = { on -> SessionPrefs.setHdr(this, mode, on); hdrOn = on }, onGpuDrivers = { openComponents(focusContent = true, tab = com.droiddeck.launcher.ui.GPU_TAB) }, - onPerformanceMode = { on -> SessionPrefs.setPerformanceMode(this, mode, on); performanceMode = on }, onUpscaler = { m -> SessionPrefs.setUpscaler(this, m); upscaler = m }, onUpscaleSharpness = { pct -> SessionPrefs.setUpscaleSharpness(this, pct); upscaleSharpness = pct }, onTouch = { t -> SessionPrefs.setTouchMode(this, t); touchMode = t }, @@ -2126,7 +2124,6 @@ class FrontEndActivity : ComponentActivity() { runSteamAtStartup = SessionPrefs.runSteamAtStartup(this) loadBootMovie() hdrOn = SessionPrefs.hdr(this, mode) - performanceMode = SessionPrefs.performanceMode(this, mode) upscaler = SessionPrefs.upscaler(this) upscaleSharpness = SessionPrefs.upscaleSharpness(this) hdrReason = com.droiddeck.launcher.wayland.HdrSupport.probe(this).reason diff --git a/app/src/main/java/com/droiddeck/launcher/SessionActivity.kt b/app/src/main/java/com/droiddeck/launcher/SessionActivity.kt index 8172ccc59..5f38d352c 100644 --- a/app/src/main/java/com/droiddeck/launcher/SessionActivity.kt +++ b/app/src/main/java/com/droiddeck/launcher/SessionActivity.kt @@ -498,10 +498,6 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback { } com.droiddeck.launcher.gpu.SteamVrHealth.begin(this, SessionState.sessionId) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) - if (!SessionState.running) { - val prefMode = SessionPrefs.prefMode(intent.getStringExtra(SessionService.EXTRA_MODE) ?: SessionService.MODE_STEAM) - SessionState.performanceMode = SessionPrefs.performanceMode(this, prefMode) - } applyOutputPacing() if (!SessionState.running) SessionState.followScreen = followChoice() applyFollowOrientation(resources.configuration) @@ -1998,9 +1994,7 @@ class SessionActivity : ComponentActivity(), SurfaceHolder.Callback { private fun mirrorRefreshLimit(): Int = GlassesRendering.mirrorRefreshLimit(glassesSettings, glasses, glassesScreen != null) - private fun outputFpsLimit(): Int = SessionPrefs.compositorFpsLimit( - mirrorRefreshLimit(), SessionState.performanceMode, - ) + private fun outputFpsLimit(): Int = SessionPrefs.compositorFpsLimit(mirrorRefreshLimit()) private fun applyOutputPacing() { Log.i(TAG, "perf: " + PerfMode.apply(this, outputFpsLimit(), mirrorRefreshLimit())) diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt index 92163226f..592bf42cf 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionPrefs.kt @@ -938,22 +938,15 @@ object SessionPrefs { prefs(context).edit().putBoolean("hdr.$mode", on).apply() } - /** - * Performance mode: buffers go back to the game as soon as they are replaced - * instead of once per refresh, and gamescope's WSI layer and winex11 reuse their per-present window checks. - */ - fun performanceMode(context: Context, mode: String): Boolean = prefs(context).getBoolean("performanceMode.$mode", false) - - fun setPerformanceMode(context: Context, mode: String, on: Boolean) { - prefs(context).edit().putBoolean("performanceMode.$mode", on).apply() - } - /** Compositor frame limit that releases buffers to the game unpaced. */ const val FPS_UNPACED = -1 - /** Mirroring still follows the glasses' refresh rate when Performance mode is on. */ - fun compositorFpsLimit(mirrorRefreshLimit: Int, performanceMode: Boolean): Int = - if (performanceMode && mirrorRefreshLimit <= 0) FPS_UNPACED else mirrorRefreshLimit + /** + * Buffers go back to the game as soon as they are replaced instead of once per refresh; + * Steam's Frame Limit in the Quick Access menu caps games. Mirroring still follows the glasses' refresh rate. + */ + fun compositorFpsLimit(mirrorRefreshLimit: Int): Int = + if (mirrorRefreshLimit <= 0) FPS_UNPACED else mirrorRefreshLimit val upscalerChoices = listOf( 0 to "Linear", 2 to "Nearest", 4 to "AMD FSR 1", 3 to "Snapdragon GSR", diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt index be9795042..445b2da05 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionService.kt @@ -507,16 +507,13 @@ class SessionService : Service() { guest.add("DXVK_HDR=1") Log.i(TAG, "hdr: gamescope --hdr-enabled, DXVK_HDR=1") } - // gamescope's WSI layer and winex11 reuse their per-present window checks for this long; 0 checks on every present. - val windowCheckMs = if (SessionState.performanceMode) 100 else 0 - guest.add("DROIDDECK_WSI_BYPASS_CHECK_MS=$windowCheckMs") - guest.add("WINE_OFFSCREEN_CHECK_MS=$windowCheckMs") - if (SessionState.performanceMode) { - // gamescope turns buffers around slower than an unpaced game draws; more images keep it drawing. - guest.add("GAMESCOPE_WSI_MIN_IMAGE_COUNT=8") - guest.add("GAMESCOPE_WSI_ENSURE_MIN_IMAGE_COUNT=1") - } - Log.i(TAG, "performance mode " + (if (SessionState.performanceMode) "on" else "off")) + // gamescope's WSI layer and winex11 reuse their per-present window checks for this long. + guest.add("DROIDDECK_WSI_BYPASS_CHECK_MS=100") + guest.add("WINE_OFFSCREEN_CHECK_MS=100") + // gamescope turns buffers around slower than an uncapped game draws; more images keep it drawing. + // The WSI layer goes back to its default count while Steam's Frame Limit holds the game. + guest.add("GAMESCOPE_WSI_MIN_IMAGE_COUNT=8") + guest.add("GAMESCOPE_WSI_ENSURE_MIN_IMAGE_COUNT=1") guest.add("BL_REFRESH=" + Math.round(SessionState.refreshHz)) guest.add("BL_LOG=" + sessionLog.path) guest.add("BL_DEBUG_DIR=" + sessionDir.path) diff --git a/app/src/main/java/com/droiddeck/launcher/session/SessionState.kt b/app/src/main/java/com/droiddeck/launcher/session/SessionState.kt index bb1ea3923..52544f2fc 100644 --- a/app/src/main/java/com/droiddeck/launcher/session/SessionState.kt +++ b/app/src/main/java/com/droiddeck/launcher/session/SessionState.kt @@ -103,9 +103,6 @@ object SessionState { @Volatile var upscaleRatio: Float = 0f - @Volatile - var performanceMode = false - @Volatile var firstFrameSeen = false diff --git a/app/src/main/java/com/droiddeck/launcher/ui/ModeSettingsDialog.kt b/app/src/main/java/com/droiddeck/launcher/ui/ModeSettingsDialog.kt index f8f885764..65ee3f142 100644 --- a/app/src/main/java/com/droiddeck/launcher/ui/ModeSettingsDialog.kt +++ b/app/src/main/java/com/droiddeck/launcher/ui/ModeSettingsDialog.kt @@ -60,7 +60,6 @@ class ModeSettings( val hdr: Boolean, val hdrReason: String?, val gpuDrivers: String? = null, - val performanceMode: Boolean = false, val upscaler: Int = 0, val upscaleSharpness: Int = 75, val touchMode: String, @@ -116,7 +115,6 @@ class ModeSettingsActions( val onResolution: (String) -> Unit, val onHdr: (Boolean) -> Unit, val onGpuDrivers: () -> Unit = {}, - val onPerformanceMode: (Boolean) -> Unit = {}, val onUpscaler: (Int) -> Unit = {}, val onUpscaleSharpness: (Int) -> Unit = {}, val onTouch: (String) -> Unit, @@ -248,10 +246,6 @@ fun ModeSheetRows(s: ModeSettings, a: ModeSettingsActions, tab: String, extras: format = { "$it%" }, onChange = a.onUpscaleSharpness, ) } - SettingsGroup(stringResource(R.string.display_frame_rate)) { - ToggleRow(host, "performance", stringResource(R.string.mode_performance), stringResource(R.string.mode_performance_hint), - s.performanceMode, onChange = a.onPerformanceMode) - } SettingsGroup(stringResource(R.string.mode_hdr)) { ToggleRow( host, "hdr", stringResource(R.string.mode_hdr10), diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index fe7c0e138..55b2cc8fb 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -2025,7 +2025,6 @@ يُطبَّق فوريًا. مشترك بين Steam وسطح المكتب. تُطبَّق FSR و GSR و NIS عند تكبير صورة الجلسة. ويعمل خيار «زيادة الحدة فقط» أيضًا دون تكبير. حدّة المرشِّح - معدّل الإطارات %1$s يضبط أسلوب التكبير على %2$s. مطابقة الشاشة (%1$d×%2$d) اتباع الشاشة (يُغيَّر الحجم عند الطي أو الفتح) diff --git a/app/src/main/res/values-b+es+419/strings.xml b/app/src/main/res/values-b+es+419/strings.xml index 1609361f2..c0c8bc208 100644 --- a/app/src/main/res/values-b+es+419/strings.xml +++ b/app/src/main/res/values-b+es+419/strings.xml @@ -1994,7 +1994,6 @@ Se aplica al instante. Compartido por Steam y Escritorio. FSR, GSR y NIS se aplican al ampliar la imagen de la sesión. Solo nitidez también funciona sin ampliar. Nitidez del filtro - Velocidad de fotogramas %1$s Cambia el escalado a %2$s. Igual a la pantalla (%1$d×%2$d) Seguir la pantalla (cambia de tamaño al plegar o desplegar) diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index a40f3e38d..39a59b6a7 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -1941,7 +1941,6 @@ Прилага се веднага. Общ за Steam и Desktop. FSR, GSR и NIS се прилагат при уголемяване на изображението на сесията. „Само изостряне“ работи и без уголемяване. Острота на филтъра - Честота на кадрите %1$s Задава мащабиране на %2$s. Напасване на екрана (%1$d×%2$d) Следване на екрана (преоразмерява при сгъване или разгъване) diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 4d493645a..217ff7459 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1983,7 +1983,6 @@ Použije se okamžitě. Sdíleno Steamem a Plochou. FSR, GSR a NIS se použijí při zvětšování obrazu relace. Jen zaostření funguje i bez zvětšení. Ostrost filtru - Snímková frekvence %1$s Nastaví škálování na %2$s. Podle obrazovky (%1$d×%2$d) Sledovat obrazovku (změní velikost při složení nebo rozložení) diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index f737e6bd7..eed732786 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -1941,7 +1941,6 @@ Træder i kraft øjeblikkeligt. Deles af Steam og Desktop. FSR, GSR og NIS anvendes ved forstørrelse af sessionsbilledet. Kun skærpning virker også uden forstørrelse. Filterskarphed - Billedfrekvens %1$s Indstiller skalering til %2$s. Match skærm (%1$d×%2$d) Følg skærm (ændrer størrelse ved fold/udfold) diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 8e9b65332..ece9e10db 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1933,7 +1933,6 @@ Wirkt sofort. Gemeinsam für Steam und Desktop. FSR, GSR und NIS wirken beim Vergrößern des Sitzungsbilds. „Nur schärfen“ funktioniert auch ohne Vergrößerung. Filterschärfe - Bildrate %1$s Stellt die Skalierung auf %2$s. An Bildschirm anpassen (%1$d×%2$d) Bildschirm folgen (passt sich beim Auf- und Zuklappen an) diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 2da1c1b2a..36db04480 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -1941,7 +1941,6 @@ Εφαρμόζεται σε πραγματικό χρόνο. Κοινό για το Steam και την Επιφάνεια εργασίας. Τα FSR, GSR και NIS εφαρμόζονται κατά τη μεγέθυνση της εικόνας συνεδρίας. Το Μόνο όξυνση λειτουργεί και χωρίς μεγέθυνση. Οξύτητα φίλτρου - Καρέ ανά δευτερόλεπτο %1$s Ορίζει την κλιμάκωση σε %2$s. Αντιστοίχιση οθόνης (%1$d×%2$d) Ακολούθηση οθόνης (αλλάζει μέγεθος όταν διπλώνει ή ξεδιπλώνει) diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 45f4cfc67..10139b535 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -1964,7 +1964,6 @@ Se aplica al instante. Compartido por Steam y Escritorio. FSR, GSR y NIS se aplican al ampliar la imagen de la sesión. Solo nitidez también funciona sin ampliar. Nitidez del filtro - Velocidad de fotogramas %1$s Cambia el escalado a %2$s. Igual a la pantalla (%1$d×%2$d) Seguir la pantalla (cambia de tamaño al plegar o desplegar) diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index ddf4d4605..c6184e1fa 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -1941,7 +1941,6 @@ Vaikuttaa välittömästi. Yhteinen Steamille ja Työpöydälle. FSR, GSR ja NIS vaikuttavat, kun istunnon kuvaa suurennetaan. Vain terävöinti toimii myös suurentamatta. Suodattimen terävyys - Kuvanopeus %1$s Asettaa skaalauksen tilaan %2$s. Sovita näyttöön (%1$d×%2$d) Seuraa näyttöä (koko muuttuu taitettuna tai avattuna) diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 535cbf487..70d3dd3d5 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1964,7 +1964,6 @@ S\'applique en direct. Partagé entre Steam et le bureau. FSR, GSR et NIS s\'appliquent lors de l\'agrandissement de l\'image de la session. « Netteté seule » fonctionne aussi sans agrandissement. Netteté du filtre - Fréquence d\'images %1$s Règle la mise à l\'échelle sur %2$s. Adapter à l\'écran (%1$d×%2$d) Suivre l\'écran (s\'adapte au pliage et au dépliage) diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index be2c1b803..85b671f26 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -1941,7 +1941,6 @@ लाइव लागू होता है। Steam और डेस्कटॉप में साझा। FSR, GSR और NIS सेशन इमेज को बड़ा करने पर लागू होते हैं। सिर्फ़ शार्पन बिना बड़ा किए भी काम करता है। फ़िल्टर शार्पनेस - फ़्रेम रेट %1$s स्केलिंग को %2$s पर सेट करता है। स्क्रीन से मिलाएँ (%1$d×%2$d) Follow screen (खुलने या बंद होने पर आकार बदलता है) diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 6902c2cc3..0fb76c6f8 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -1941,7 +1941,6 @@ Élőben érvénybe lép. A Steam és az Asztal közösen használja. Az FSR, a GSR és a NIS a munkamenet képének felnagyításakor lép érvénybe. A Csak élesítés nagyítás nélkül is működik. Szűrőélesség - Képkockasebesség %1$s A méretezést erre állítja: %2$s. Képernyőhöz illesztés (%1$d×%2$d) Képernyő követése (átméreteződik össze- vagy kinyitáskor) diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml index 24ce23f45..1df72888a 100644 --- a/app/src/main/res/values-in/strings.xml +++ b/app/src/main/res/values-in/strings.xml @@ -1920,7 +1920,6 @@ Berlaku langsung. Digunakan bersama oleh Steam dan Desktop. FSR, GSR, dan NIS berlaku saat memperbesar gambar sesi. Hanya penajaman juga berfungsi tanpa pembesaran. Ketajaman filter - Frame rate %1$s Mengatur skala ke %2$s. Sesuaikan layar (%1$d×%2$d) Ikuti layar (ukuran berubah saat dilipat atau dibuka) diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 524eba544..7508f71db 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -1954,7 +1954,6 @@ Si applica subito. Condiviso da Steam e Desktop. FSR, GSR e NIS si applicano quando l\'immagine della sessione viene ingrandita. Solo nitidezza funziona anche senza ingrandimento. Nitidezza del filtro - Frequenza fotogrammi %1$s Imposta il ridimensionamento su %2$s. Adatta allo schermo (%1$d×%2$d) Segui lo schermo (si ridimensiona quando lo pieghi o lo apri) diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 4d605fa6b..c69538c38 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -1922,7 +1922,6 @@ すぐに反映されます。Steamとデスクトップで共有されます。 FSR、GSR、NISはセッションの映像を拡大するときに機能します。「シャープのみ」は拡大しなくても機能します。 フィルターのシャープネス - フレームレート %1$s スケーリングを%2$sに設定します。 画面に合わせる(%1$d×%2$d) 画面に追従(開閉時にサイズを変更) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 9420ce605..44279340b 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -1922,7 +1922,6 @@ 즉시 적용됩니다. Steam과 데스크톱에서 공유됩니다. FSR, GSR, NIS는 세션 이미지를 확대할 때 적용됩니다. 샤프닝 전용은 확대하지 않아도 작동합니다. 필터 선명도 - 프레임 속도 %1$s 스케일링을 %2$s(으)로 설정합니다. 화면에 맞춤(%1$d×%2$d) 화면 따라가기(접거나 펼치면 크기 변경) diff --git a/app/src/main/res/values-ms/strings.xml b/app/src/main/res/values-ms/strings.xml index 218fc9a81..89ea8238a 100644 --- a/app/src/main/res/values-ms/strings.xml +++ b/app/src/main/res/values-ms/strings.xml @@ -1920,7 +1920,6 @@ Berkuat kuasa secara langsung. Dikongsi oleh Steam dan Desktop. FSR, GSR dan NIS berkuat kuasa semasa membesarkan imej sesi. Ketajaman sahaja juga berfungsi tanpa pembesaran. Ketajaman penapis - Kadar bingkai %1$s Menetapkan penskalaan ke %2$s. Sepadan skrin (%1$d×%2$d) Ikut skrin (mengubah saiz apabila dilipat atau dibuka) diff --git a/app/src/main/res/values-nb/strings.xml b/app/src/main/res/values-nb/strings.xml index bbb6c8a24..8af424b2d 100644 --- a/app/src/main/res/values-nb/strings.xml +++ b/app/src/main/res/values-nb/strings.xml @@ -1941,7 +1941,6 @@ Gjelder live. Delt av Steam og Skrivebord. FSR, GSR og NIS gjelder ved forstørring av sesjonsbildet. Bare skarphet fungerer også uten forstørring. Filterskarphet - Bildefrekvens %1$s Setter skalering til %2$s. Tilpass skjerm (%1$d×%2$d) Følg skjermen (endrer størrelse ved sammenslåing eller utbretting) diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index e8c394cf1..76f6f71a0 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1941,7 +1941,6 @@ Wordt direct toegepast. Gedeeld door Steam en Desktop. FSR, GSR en NIS worden toegepast bij het vergroten van het sessiebeeld. Alleen verscherpen werkt ook zonder vergroting. Filterscherpte - Framerate %1$s Zet schaling op %2$s. Schermformaat (%1$d×%2$d) Scherm volgen (past formaat aan bij vouwen of uitvouwen) diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 8d1736c64..e6dc9e34d 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1983,7 +1983,6 @@ Działa od razu. Wspólny dla Steam i Pulpitu. FSR, GSR i NIS działają przy powiększaniu obrazu sesji. „Tylko wyostrzanie” działa też bez powiększania. Ostrość filtra - Liczba klatek %1$s Ustawia skalowanie na %2$s. Dopasuj do ekranu (%1$d×%2$d) Dopasuj do ekranu (zmienia rozmiar po złożeniu lub rozłożeniu) diff --git a/app/src/main/res/values-pt-rPT/strings.xml b/app/src/main/res/values-pt-rPT/strings.xml index f2c4bf67c..70b77a493 100644 --- a/app/src/main/res/values-pt-rPT/strings.xml +++ b/app/src/main/res/values-pt-rPT/strings.xml @@ -1954,7 +1954,6 @@ Aplica-se em tempo real. Partilhado pelo Steam e pelo Ambiente de trabalho. FSR, GSR e NIS aplicam-se ao ampliar a imagem da sessão. «Só nitidez» também funciona sem ampliação. Nitidez do filtro - Taxa de fotogramas %1$s Define a escala como %2$s. Igual ao ecrã (%1$d×%2$d) Seguir o ecrã (redimensiona ao dobrar ou desdobrar) diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 3ade72aee..4dc130b47 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -1954,7 +1954,6 @@ Aplicado na hora. Compartilhado entre Steam e Área de trabalho. FSR, GSR e NIS são aplicados ao ampliar a imagem da sessão. Só nitidez também funciona sem ampliação. Nitidez do filtro - Taxa de quadros %1$s Define a escala como %2$s. Igual à tela (%1$d×%2$d) Seguir a tela (redimensiona ao dobrar ou desdobrar) diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 2305d87ab..3fe7c3feb 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -1962,7 +1962,6 @@ Se aplică live. Partajat de Steam și Desktop. FSR, GSR și NIS se aplică la mărirea imaginii sesiunii. Doar claritate funcționează și fără mărire. Claritatea filtrului - Rata de cadre %1$s Setează scalarea la %2$s. Potrivire ecran (%1$d×%2$d) Urmărește ecranul (se redimensionează la împăturire sau desfacere) diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9a7447b3d..f6049f235 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1985,7 +1985,6 @@ Применяется сразу. Общий для Steam и рабочего стола. FSR, GSR и NIS работают при увеличении изображения сессии. «Sharpen only» работает и без увеличения. Резкость фильтра - Частота кадров %1$s Устанавливает масштабирование: %2$s. По размеру экрана (%1$d×%2$d) По экрану (меняется при складывании и раскладывании) diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml index f50d90edf..abec19e9f 100644 --- a/app/src/main/res/values-sv/strings.xml +++ b/app/src/main/res/values-sv/strings.xml @@ -1941,7 +1941,6 @@ Tillämpas direkt. Delas av Steam och skrivbordet. FSR, GSR och NIS tillämpas när sessionens bild förstoras. Endast skärpa fungerar även utan förstoring. Filterskärpa - Bildfrekvens %1$s Ställer in skalning till %2$s. Matcha skärmen (%1$d×%2$d) Följ skärmen (ändrar storlek vid vikning) diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index ef164e408..3bb348183 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -1920,7 +1920,6 @@ มีผลทันที ใช้ร่วมกันระหว่าง Steam และเดสก์ท็อป FSR, GSR และ NIS จะมีผลเมื่อขยายภาพของเซสชัน เพิ่มความคมชัดเท่านั้นทำงานได้โดยไม่ต้องขยายภาพด้วย ความคมชัดของตัวกรอง - อัตราเฟรม %1$s ตั้งการปรับขนาดเป็น %2$s พอดีหน้าจอ (%1$d×%2$d) ตามหน้าจอ (ปรับขนาดเมื่อพับหรือกาง) diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 379511296..6703f28c1 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -1935,7 +1935,6 @@ Anında uygulanır. Steam ve Masaüstü tarafından paylaşılır. FSR, GSR ve NIS, oturum görüntüsü büyütülürken uygulanır. Yalnızca keskinleştirme büyütme olmadan da çalışır. Filtre keskinliği - Kare hızı %1$s Ölçeklemeyi %2$s olarak ayarlar. Ekrana Uydur (%1$d×%2$d) Ekranı takip et (katlanıp açıldığında yeniden boyutlanır) diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 78eef7de8..c842479ab 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1983,7 +1983,6 @@ Застосовується відразу. Спільний для Steam і Робочого столу. FSR, GSR і NIS застосовуються під час збільшення зображення сеансу. «Лише різкість» працює і без збільшення. Різкість фільтра - Частота кадрів %1$s Встановлює масштабування на %2$s. Під екран (%1$d×%2$d) Слідувати за екраном (змінює розмір при згортанні чи розгортанні) diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 475bef045..60b284786 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1920,7 +1920,6 @@ Áp dụng ngay. Dùng chung cho Steam và Desktop. FSR, GSR và NIS áp dụng khi phóng to hình ảnh phiên. Chỉ làm nét cũng hoạt động mà không cần phóng to. Độ sắc nét bộ lọc - Tốc độ khung hình %1$s Đặt chia tỷ lệ thành %2$s. Khớp màn hình (%1$d×%2$d) Theo màn hình (đổi kích thước khi gập hoặc mở) diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 2b5f4083a..639dda6e9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -2000,7 +2000,6 @@ 即时生效。由 Steam 和桌面共享。 FSR、GSR 和 NIS 在放大会话画面时生效。“仅锐化”在不放大时也可用。 滤镜锐度 - 帧率 %1$s 将缩放设为 %2$s。 匹配屏幕(%1$d×%2$d) 跟随屏幕(折叠或展开时调整大小) diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 54058fe19..14bf27994 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -1923,7 +1923,6 @@ 即時生效。Steam 和桌面共用。 FSR、GSR 和 NIS 會在放大會話畫面時套用。「只銳化」不放大也能使用。 濾鏡銳利度 - 幀率 %1$s 將縮放設為 %2$s。 配合螢幕(%1$d×%2$d) 跟隨螢幕(摺疊或展開時調整大小) diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 88adc508f..92b09ad65 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1923,7 +1923,6 @@ 立即生效。Steam 和桌面共用。 FSR、GSR 和 NIS 會在放大工作階段畫面時套用。「僅銳化」不放大也能使用。 濾鏡銳利度 - 影格率 %1$s 將縮放設為 %2$s。 符合螢幕(%1$d×%2$d) 跟隨螢幕(摺疊或展開時調整大小) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 89991465b..4586c9c06 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -258,8 +258,6 @@ Screen ratio Set by the custom resolution. Auto uses at least 16:9. - Performance mode - Lets games run without waiting for the screen and reduces repeated window checks in gamescope and Wine. Can use more power and run warmer. Use Steam\'s Quick Access menu to limit Steam games. Applies next session. HDR HDR10 output Not available: %1$s. @@ -2054,7 +2052,6 @@ Applies live. Shared by Steam and Desktop. FSR, GSR and NIS apply when enlarging the session image. Sharpen only also works without enlargement. Filter sharpness - Frame rate %1$s Sets scaling to %2$s. Match screen (%1$d×%2$d) Follow screen (resizes when folded or unfolded) diff --git a/app/src/test/java/com/droiddeck/launcher/glasses/GlassesMirrorPacingTest.kt b/app/src/test/java/com/droiddeck/launcher/glasses/GlassesMirrorPacingTest.kt index 4b97723d3..b1023e18d 100644 --- a/app/src/test/java/com/droiddeck/launcher/glasses/GlassesMirrorPacingTest.kt +++ b/app/src/test/java/com/droiddeck/launcher/glasses/GlassesMirrorPacingTest.kt @@ -6,7 +6,6 @@ import android.view.Display import androidx.compose.runtime.MutableState import com.droiddeck.launcher.SessionActivity import com.droiddeck.launcher.session.SessionPrefs -import com.droiddeck.launcher.session.SessionState import org.junit.After import org.junit.Assert.assertEquals import org.junit.Before @@ -38,12 +37,10 @@ class GlassesMirrorPacingTest { val panel = Shadow.extract(activity.display) panel.supported = arrayOf(mode(1, 60f), mode(2, 90f), mode(3, 120f)) panel.current = panel.supported.last() - SessionState.performanceMode = false activity.getSharedPreferences("session", Context.MODE_PRIVATE).edit().clear().commit() } @After fun cleanup() { - SessionState.performanceMode = false activity.getSharedPreferences("session", Context.MODE_PRIVATE).edit().clear().commit() } @@ -53,7 +50,7 @@ class GlassesMirrorPacingTest { apply(connected, settings.copy(refreshHz = 90)) expect(2, 90f, 90) apply(GlassesState(), settings) - expect(3, 120f, 0) + expect(3, 120f, SessionPrefs.FPS_UNPACED) } @Test fun retiredSavedLimitsDoNotCapThePhoneOrMirroredOutput() { @@ -64,21 +61,13 @@ class GlassesMirrorPacingTest { apply(connected.copy(hz = 120f), settings) expect(1, 60f, 60) apply(GlassesState(), settings) - expect(3, 120f, 0) - } - - @Test fun performanceModeResumesUnpacedOutputAfterMirrorDisconnects() { - SessionState.performanceMode = true - apply(connected, settings) - expect(1, 60f, 60) - apply(GlassesState(), settings) expect(3, 120f, SessionPrefs.FPS_UNPACED) } @Test fun pacingFollowsThePanelWhenTheSystemKeepsALowerRateThanRequested() { Shadow.extract(activity.display).current = mode(2, 90f) apply(GlassesState(), settings) - expect(3, 90f, 0) + expect(3, 90f, SessionPrefs.FPS_UNPACED) } private fun apply(state: GlassesState, config: GlassesSettings) { diff --git a/app/src/test/java/com/droiddeck/launcher/session/OutputPacingTest.kt b/app/src/test/java/com/droiddeck/launcher/session/OutputPacingTest.kt index 9805a66de..bd7dc380f 100644 --- a/app/src/test/java/com/droiddeck/launcher/session/OutputPacingTest.kt +++ b/app/src/test/java/com/droiddeck/launcher/session/OutputPacingTest.kt @@ -1,36 +1,14 @@ package com.droiddeck.launcher.session -import android.content.Context -import org.junit.Assert.* -import org.junit.Before +import org.junit.Assert.assertEquals import org.junit.Test -import org.junit.runner.RunWith -import org.robolectric.RobolectricTestRunner -import org.robolectric.RuntimeEnvironment -import org.robolectric.annotation.Config -@RunWith(RobolectricTestRunner::class) -@Config(sdk = [33]) -class PerformanceModeTest { - private val app get() = RuntimeEnvironment.getApplication() - private val session get() = app.getSharedPreferences("session", Context.MODE_PRIVATE) - - @Before fun clear() { session.edit().clear().commit() } - - @Test fun offByDefaultAndPerMode() { - assertFalse(SessionPrefs.performanceMode(app, SessionService.MODE_STEAM)) - SessionPrefs.setPerformanceMode(app, SessionService.MODE_STEAM, true) - assertTrue(SessionPrefs.performanceMode(app, SessionService.MODE_STEAM)) - assertFalse(SessionPrefs.performanceMode(app, SessionService.MODE_DESKTOP)) +class OutputPacingTest { + @Test fun phoneOutputIsUnpaced() { + assertEquals(SessionPrefs.FPS_UNPACED, SessionPrefs.compositorFpsLimit(0)) } - @Test fun offKeepsDisplayAndMirrorPacing() { - assertEquals(0, SessionPrefs.compositorFpsLimit(0, false)) - assertEquals(60, SessionPrefs.compositorFpsLimit(60, false)) - } - - @Test fun onIsUnpacedUnlessMirroring() { - assertEquals(SessionPrefs.FPS_UNPACED, SessionPrefs.compositorFpsLimit(0, true)) - assertEquals(60, SessionPrefs.compositorFpsLimit(60, true)) + @Test fun mirroringKeepsTheGlassesRate() { + assertEquals(60, SessionPrefs.compositorFpsLimit(60)) } }