-
Notifications
You must be signed in to change notification settings - Fork 2.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android - Setting - Android Staging app has noticeable lag as compared to PROD #17427
Comments
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open
|
Triggered auto assignment to @marcaaron ( |
@kbecciv out of curiosity, were you testing on a High Traffic account? I can kinda see the app feels a little less smooth in my normal account, but curious if you noticed any difference based on the type of account. |
Could be a red herring, but I wonder if it has to do with disabling hardware acceleration in https://github.com/Expensify/App/pull/16532/files. |
@francoisl Happening with gmail and expensifail accounts in same way. |
Maybe my eye is not well trained, but I can't tell the difference here at all 👴 |
Yeah so I've been running some tests on my physical device (Pixel 6) yesterday and I couldn't notice a real difference either.
screen-20230413-183937.mp4
screen-20230413-184404.mp4I'm trying to run the same tests on a Pixel 3 AVD (since it has less power) but having trouble with Android Studio atm :/ |
It's more noticeable on a Pixel 3 AVD, pretty sure it has to do with disabling hardware acceleration indeed.
android_olderversion.mov
android_main.movcc @ArekChr do you know of a way we could re-enable hardware acceleration in #16532, but still get that fix to work? I'm thinking we'd somehow need to re-enable it at the application level, but disable it at the View level only (maybe?) for ImageView. I don't see a way to manage that directly from React Native in their docs, though. |
Not sure what the latest is on this or if it should block the deploy? cc @mountiny as you are the NewDot deployer this week. |
Yeah, checking this one out! After reading though the comments I feel like this is not a real blocker. Seems like this is somehowe perceived on older Android devices (emulator) but newer onces seem alright. Thats why I think this should not be a blocker and we should ahndle this with Callstack separately. @ArekChr is ooo due to injury so I will raise this in the channel. Do you agree @francoisl and @marcaaron? |
Triggered auto assignment to @NicMendonca ( |
Bug0 Triage Checklist (Main S/O)
|
Given the agreement, I am removing the deploy blocker. Posted in Slack, hopefully Callstack will get someone to investigate tomorrow. |
Hi, I'm Fábio from Callstack - expert contributor group - I would like to take a look at this issue. |
I did a quick research on |
Thanks @ArekChr for the update! |
Proposal:Problem:The Android Staging app has a noticeable lag compared to PROD, resulting in a poor user experience. Root Cause:The root cause of the problem is that the hardwareAccelerated attribute is disabled. Solution:To address the problem, I propose fixing the I'm still investigating what the limit is. In my current PoC, I handled display images with a maximum height of 8k pixels. Example of how transform will be applied: RequestBuilder<Drawable> builder =
requestManager
.load(imageSource == null ? null : imageSource.getSourceForLoad())
.apply(FastImageViewConverter
.getOptions(context, imageSource, mSource)
.placeholder(mDefaultSource)
.fallback(mDefaultSource))
+ .transform(new ResizeTransformation(8000)); Expected Result:Hardware acceleration will bring back performance on low-end devices and applied Glide transform will not crash large images and will keep the high image quality limited to a maximum height/width possible to draw. Alternative Solutions:None were explored. |
@fabioh8010 @ArekChr @NicMendonca @marcaaron this issue is now 4 weeks old and preventing us from maintaining WAQ. This should now be your highest priority. Please post below what your plan is to get a PR in review ASAP. Thanks! |
Job added to Upwork: https://www.upwork.com/jobs/~01aa13495b950dd931 |
Triggered auto assignment to Contributor Plus for review of internal employee PR - @aimane-chnaif ( |
Proposal looks good to me
@ArekChr do you have more updates on this? |
@aimane-chnaif Working on that. I will send an update soon |
FYI, I'm moving the tracking and resolution of the performance regression to this issue. |
Update: I created PR for image resize transform. I made progress in the playground displaying large images, but I have a problem with displaying them properly in the Expensify app. The issue may be related to too complex calculation logic of image size or image pan zoom framework. Here is playground and results below: Nagranie.z.ekranu.2023-05-17.o.12.03.22.movEdit: after some changes in image size calculation on the js side still can't achieve good quality |
Just a heads up, I'm going to be OOO from May 23rd to May 30th. I think this one is kind of on the back burner as far as a WAQ issue goes. Still important, but there's not really anything I feel that I can materially do to make this go "faster" on my end for now. @Julesssss it seems like you are working on possibly the same or a related issue in #18963. Do you want to keep an eye on this one or can it be merged with the issue you are assigned? I haven't really had time to give this any attention and I'm a bit out of my depth when it comes to Android performance stuff. |
Since I have reverted the PR which disabled hardware acceleration, we now just need a solution to the low-res large image issue that is common on Android. Let's keep that discussion on this issue. |
To confirm, the performance regression was located and reverted. We are now working on the image resolution issue. |
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
Expected Result:
Staging app should be faster or should not have this behaviour.
Actual Result:
Noticeable lag experienced when using Android Staging app. It looks like the app shakes/rumbles/jumps a little bit in every change menu event (or when tapping between options).
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Version Number: 1.3.0.0
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Staging video
Bug6017051_Staging_android.mp4
Production video
Bug6017051_PROD_android.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit
The text was updated successfully, but these errors were encountered: