Factory.rive renders at ~10 FPS on an Android TV with a Mali GPU, Factory.flutter at 60 FPS
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Ambito
- mobile, performance
Direzione di ricerca
Start by comparing Factory.rive and Factory.flutter using the supplied profile build and FrameTiming measurements, then investigate the rendering path implicated by the resolution scaling results and related issue #638. Reproduce on an Android TV with a Mali GPU if available; the reported FPS and raster times provide the baseline, and done means identifying and fixing the pixel-count-related slowdown while restoring performance close to Factory.flutter's 60 FPS.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
On a TCL Google TV (Android 14, MediaTek MT5896 with a Mali GPU, 32-bit armeabi-v7a userspace, 2.4 GB RAM, 1920x1080 UI) a single full-screen RiveWidget renders at about 10 FPS with Factory.rive. The same file with Factory.flutter renders at 60 FPS.
The scene is one 1920x1080 artboard with a few text runs, a list of 24 small nested artboards (gradient fill, stroke, feathered shadow, looping scale animation) and one ScriptedLayout. Profile build, frame times from FrameTiming:
Factory.rive, display resolution: 10.3 FPS, raster p50 80.9 ms
Factory.rive, RenderResolution.layout(scale: 0.75): 14.3 FPS, raster p50 57.7 ms
Factory.rive, RenderResolution.layout(scale: 0.5): 20.0 FPS, raster p50 33.5 ms
Factory.flutter, display resolution: 60 FPS, raster p50 6.9 ms
Removing all 24 cards only brings Factory.rive to about 11.6 FPS, so the cost seems to follow the pixel count rather than the content. Switching Impeller from Vulkan to OpenGL ES (ImpellerBackend=opengles) made no difference.
Versions: rive 0.14.11, rive_native 0.1.11, Flutter 3.47.7. The .riv was built with Rive CLI 1.7.0 with signed scripts.
Possibly related: #638
- Lingua principale
- Dart
- Stelle
- 1.5k
- Fork
- 244
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di rive-app/rive-flutter
-
bug known
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
rive-app/rive-flutter#617 · 6 commenti · 15 reazioni ·
-
known
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
rive-app/rive-flutter#670 · 1 commento ·
-
known
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
rive-app/rive-flutter#669 ·
-
known
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
rive-app/rive-flutter#668 · 1 commento ·
-
known
Difficoltà 4/5 3-5 giorni Idoneità per principianti 30/100
rive-app/rive-flutter#664 · 1 commento ·
Tutte le issue di rive-app/rive-flutter
Issue simili
-
SchedulerBinding.requestPerformanceMode(mode) does not forward the requested mode to the engine.Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
carp demo apps enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
carp-dk/carp.sensing-flutter#670 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
ToUnicode CMap writes code points above U+FFFF as plain hex (5-6 digits), not UTF-16BEForse già presa @Rupali59 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 4 giorni