Residual scroll jank at 120 Hz (suspected Slint event-loop bug) needs per-frame + per-stage timing the logcat ring buffer can't hold. New cargo feature `perf` (default OFF — all sites are cfg-gated, zero overhead when off): - FR: per-frame app-side render cost + frame gap, from the rendering notifier (BeforeRendering/AfterRendering). - STG: event-loop stage costs (wake/timers/events/poll/lastrender) from timestamps instrumented into the pinned vendor copy of i-slint-backend-android-activity (stg.rs; Cargo.toml now depends on it directly + optional under `perf`). - DECODE: per-thumbnail-job cost on the workers. - All lines mirrored to /sdcard/Download/.gallery_perf.log (logcat rotates too fast at ~120 lines/s). Format + reading guide: docs/BUGS/scroll-jank-120hz.md.
47 lines
1.9 KiB
TOML
47 lines
1.9 KiB
TOML
# Copyright © SixtyFPS GmbH <info@slint.dev>
|
|
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
|
|
|
|
# cSpell: ignore androideabi
|
|
[package]
|
|
name = "i-slint-backend-android-activity"
|
|
description = "OpenGL rendering backend for Slint"
|
|
authors.workspace = true
|
|
edition.workspace = true
|
|
homepage.workspace = true
|
|
license.workspace = true
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
path = "lib.rs"
|
|
|
|
[features]
|
|
game-activity = ["android-activity-06?/game-activity", "android-activity-05?/game-activity"]
|
|
native-activity = ["android-activity-06?/native-activity", "android-activity-05?/native-activity"]
|
|
aa-06 = ["android-activity-06", "ndk-09"]
|
|
aa-05 = ["android-activity-05", "ndk-08"]
|
|
unstable-wgpu-29 = ["i-slint-renderer-skia/unstable-wgpu-29"]
|
|
unstable-wgpu-30 = ["i-slint-renderer-skia/unstable-wgpu-30"]
|
|
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
|
i-slint-renderer-skia = { workspace = true }
|
|
i-slint-core = { workspace = true, features = ["std", "image-decoders", "svg"] }
|
|
i-slint-common = { workspace = true }
|
|
raw-window-handle = { version = "0.6" }
|
|
android-activity-05 = { package = "android-activity", version = "0.5", optional = true }
|
|
android-activity-06 = { package = "android-activity", version = "0.6", optional = true }
|
|
jni = { version = "0.22" }
|
|
|
|
# We only depends on the NDK directly to enable raw-window-handle 0.6 which we need for the skia renderer
|
|
ndk-08 = { package = "ndk", version = "0.8.0", optional = true, features = ["rwh_06"] }
|
|
ndk-09 = { package = "ndk", version = "0.9.0", optional = true, features = ["rwh_06"], default-features = false }
|
|
|
|
[build-dependencies]
|
|
android-build = "0.1.2"
|
|
|
|
[package.metadata.docs.rs]
|
|
targets = ["aarch64-linux-android", "armv7-linux-androideabi", "i686-linux-android", "x86_64-linux-android"]
|
|
features = ["native-activity", "aa-06"]
|
|
rustdoc-args = ["--generate-link-to-definition"]
|