5 ms·
My acid test for all things "super-modern" is to try firing them up on older devices. Y'know, to combat the old "fast enough to reach production but quadratic o
by exikyut 5y ago
My acid test for all things "super-modern" is to try firing them up on older devices. Y'know, to combat the old "fast enough to reach production but quadratic once it gets there" thing.
Take 1: Galaxy Note 3 with Android 5
E/AndroidRuntime(25964): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.kraken_gallery/com.example.kraken_gallery.MainActivity}: android.content.res.Resources$NotFoundException: File res/drawable-v21/launch_background.xml from drawable resource ID #0x7f040000
Hokay then. Moving on I guess?
Take 2: Galaxy Note 4 with Android 6
...Yep this is definitely running at about 19-20fps, maybe 23fps. It's not smooth. It's... responsive... I guess? But NOT smooth.
I experience the same effect when in websites that have long scrollable areas inside position:fixed divs or position:absolute divs anchored to the viewport edges.
Chrome seems to be able to special-case "scroll the root/body of the page" in such a way that it can run at like ~45fps on the Note 3 and pretty much the same on the '4. Random divs don't get that special-casing, and scroll rather choppily... exactly like this app.
I tried a Flutter API demo a while back and experienced identical behavior.
My reference case for rendering speed is the Drive PDF viewer (!), which on my Note 3 runs at easily 55-60fps and has just about the lowest latency I can recall of any app I've tried on that device. So I know the hardware can actually update very quickly... if you aren't reconstructing Mt Everest on every frame in the fast path ;)
"BuT DeVeLoPeR PrOdUcTiViTy"
Well, hot take: industrial/brutalist design can be a great fit for the "look" parts of apps... but not the "feel" parts. That always needs to be the result of a feat of integration engineering, for the UX to, well, feel good. All these toolkits break the "look" down into nice little manageable components... by applying isolation principles that also break down the cohesion of the "feel" as well in the process. In the name of progress. Or something.
- 5ersi 5y agoGalaxy Note 5 - released 2013 Galaxy Note 4 - released 2014 Seriously dude...
- flutterwascrap 5y ago3GB RAM, 2.7GHz quad core cpu/1.9GHzX4 + 1.3GHzX4 (oct core). This device is more powerful than my current phone.
- exikyut 5y agoYep, 3GB RAM, but Chrome eats most of that and it swaps pretty much the entire time (yup, it has a 1GB swap partition, the poor flash)... and the CPU is a 32-bit Snapdragon 800 with 4 (symmetrical) cores at 2.2GHz. FWIW, I feel it. https://phonedb.net/index.php?m=device&id=6573&c=samsung_sm-n900u_galaxy_note_3_4g_lte_16gb https://phonedb.net/index.php?m=device&id=6573&c=samsung_sm-... Can't deny I boggle at current-day budget-level devices with 2GB RAM tho. Like, wat.
- LAC-Tech 5y agoSeriously dude yourself. Not all consumers live in a place where salaries are high and electronics are cheap.
- exikyut 5y agoI did say old :D. They were actually given to me by a friend who wasn't using them, who learned I didn't have a phone. I probably used Android for a cumulative total of 20 minutes from 2006-2020 before this. EXTREMELY interested in the platform, absolutely (and came up with some ideas for apps), but yeah, wasn't really viable to pursue. Here, have two LifeProTips: 1. Rewrite your DNA during conception to edit out all the weird obscure medical issues you might otherwise get lumped with 2. Ensure you quantum phase-shift when selecting the reality you're born into so you ensure you skip the world(s) with a broken medical systems that doesn't have fundamental interest in research and discovery Alternatively, spend nearly 30 years trying to get anyone at all to listen, without the resources to pay people to listen to you cuz you can't work. </rant> (In all seriousness, the Note 3 takes 10 seconds to open a new tab. I'm absolutely looking forward to upgrading. But it'll be sad to stop using it.)
- malkia 5y agoAre you compiling in --release?
- exikyut 5y agoNo, I went I'm-Feeling-Lucky APK Fishing™ on the releases tab and fed my phone whatever that was. Which suggests the build process is a bit broken.
- nyanpasu64 5y agoI was trying Matrix clients on an older Android phone, and both FluffyChat and Syphon (both Flutter, without a JS layer) were unable to scroll a user list or message list at 60fps on a Moto G5 plus (a 2017 phone) with LineageOS Android 11 installed. Perhaps the Drive PDF viewer is fast, but I never liked how it uses RGB subpixel antialiasing on a phone with no fixed pixel layout, to and the GUI felt bare bones to me.
- Arathorn 5y agoHow was Element Android (native android) out of interest?
- nyanpasu64 5y agoI uninstalled it after seeing the whopping 100 megabyte download size (what is even in the app?). I should try it again though. Anyway I installed Element and the scrolling feels a lot smoother, at a stable 60? fps without constant hitches like in Flutter apps. I noticed in Flutter apps there's a process named usap64 that burns CPU on startup and when I scroll through a list.
- mitemte 5y agoMy iPhone 12 Pro drops frames when scrolling the Flutter Web gallery [0]. Flutter Web also doesn’t support iOS’ ubiquitous tap status bar to scroll to top and has different scrolling acceleration, deceleration and springiness. Flutter on iOS has had animation hitches since the switch from OpenGL to Metal. Animations drop frames on their first run, during shader compilation [1]. 0. https://gallery.flutter.dev/#/ https://gallery.flutter.dev/#/ 1. https://github.com/flutter/flutter/issues/61450 https://github.com/flutter/flutter/issues/61450