-
-
Notifications
You must be signed in to change notification settings - Fork 32.4k
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
[SwipeableDrawer] Very bad v5 performance on iPhone #31009
Comments
I can show some video of the differences if needed |
I've just tested the BottomNavigation component on your V4 documentation, and it seems that it's actually the same as on V5. |
If needed, I can provide you with a login on my production site to test our components. |
@mnajdova @oliviertassinari any thoughts on this? just open the drawer demo page in mobile Chrome on iPhone. Try to open/close different drawers. There is no animation; it opens/closes with some latency. Everything works great on Safari. fg.movFirst is Chrome, second - Safari. Tested on:
|
To summarize, the following features from Material UI work in iOS Safari, but don't in iOS Chrome:
|
It works on me using:
video-1660906469.mp4What iOS version do you use? |
iOS version: The setting animation-issues.mp4 |
When I closed all tabs, iOS Chrome works the same as iOS Safari.
@EmilioMirasola @suren-atoyan can you check what you reported after closing all other tabs? chrome-works-without-other-tabs.mp4 |
@o-alexandrov I'm experiencing this in a PWA environment, so no other tabs are open |
Any updates on this? I came across this issue just over a year ago on another drawer so my guess is it’s related to Chrome on iOS. It gets progressively worse every time you leave and come back. FullSizeRender.mp4 |
This issue is related to a known chrome bug on iOS. Animation stops working after switching tabs in the browser. I tracked the following issues. https://bugs.chromium.org/p/chromium/issues/detail?id=899130 https://bugs.chromium.org/p/chromium/issues/detail?id=1249723 https://bugs.chromium.org/p/chromium/issues/detail?id=1231712 Also, using framer-motion for animation in my projects and they |
Quick update, the last comment of https://bugs.chromium.org/p/chromium/issues/detail?id=1249723 mentions the problem is fixed in iOS 16.4 beta 1. I just installed beta 4 on my device, and all of those transition problems seem to be solved. It really was an Apple problem, but let's keep the issue open until others can confirm when the new OS version rolls out. |
Thanks @gurkerl83 ! Tested it on 16.4 official release last night and it’s working great. |
Duplicates
Latest version
Current behavior 😯
We recently started building a website with MUI, but sadly, the performance on iPhone is not good. When tapping a button, it seems like events happen after the animation, and the animations themselves are looking pretty sluggish. We've used MUI V4 on another website, where performance is no problem on iPhone.
We've tested on different iPhones, difference iOS versions (including iPhone 13 with newest iOS version), but it's the same everytime. On Android everything is smooth and events happen immediately.
I've tested quite a lot on the bottom navigation component https://mui.com/components/bottom-navigation/#main-content. When tapping an icon, the color change happens very slowly, and text resizing is sluggish.
We also have an iconbutton which opens up a drawer, but the drawer is first opened after the ripple animation. This is different from Android.
I'm not sure what's going on, as I've gone back and tested the website using V4, and here it just works without any problems. to me, it seems like that some events aren't handled before ripple has ended, but I'm not sure.
It seems like it's somehow restricted to buttons. Drawers seem to work fine.
I've tried everything without luck.
Btw I've tried been on your official docs from my iPhone, and it seems that the the problem also exists here, atleast on the bottom navigation component.
Expected behavior 🤔
Same behavior on iPhone as on Android
Steps to reproduce 🕹
https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDGMA0cDejUYCiANkiEgHbwC+cAZlBCHAORQEwsBQoksucAEIQYMJgDkUAN2ABzFDGAQK2YaInS5CpRQCCGHdgAKKMEijYArgGckAFQAWZJHFoMmrAAIhLwAPQgCubAKMTcvNDweACSaMqu9IzMLJ7AcRTAdACefuzonDzgkQJ2KABG1la2amIgkjLyisoAwsowSAAeNIkeLAB0fvqKUkg1Gg3ayqVlrVSdBRH8-QN9A7pgYH1o1tbcXJ188OnW8GN10nAAvHAAFACUAFz4+STOVFcAfLhcAJDHUXB8sARtNsLYYENgfZyglrjZRiJavUtE0KLN2l17r9-nAYE5yFc4PDHM4sb92DBLFAKLdfj8ADwmMxQOBoYgoHaSciXHAsawOKDACgAa3RlBgAHkKAAZFBQWRIADKaHYlF2tGsHR5eEg1mAqKeLDowA6SAAJixsGVEUwngAGbCkOgwe3YQWyBwuuB21zUOlwAOBuBIUhSSYUHkAZmoHzpDLOyMaOjjP35EAA7rKyiHrCmw8RLEgeUCQeU-T8Kz8Wg4UBQFTybkhsBQkOmAGqhQt3T5wcGQ0tlG4t9udpB3cuVzXauBlWRxYjQJ545x9MChJCiJB9WzpM1yrJ9YhyT2+uOxyvxm3nCaoyHxdnZ4g8lgACQAVmQWLQ0soefTYvEdBtIqwAAF5FjgABMACs37pDyZobuYIBCkgL5MEgAEUPctB+B8uHnpW9IJpoSbKHeNIPiGz7KtAQqyF+cA-hGOD-uk9DAWBEEwXBv44Ih7RQChLa0YKdZYThcB4QRKbEVeibhhRcBUU+vLRBQZonMAxBHnW5hfimQZGcZJkBsxf5YRxVAgeBPI8Ux8H8UhQmoYqG6KHW1gSeOUn4b5cb0n4JE3johGBUy5jnncXC-HQlgUAY8QCchqHoeQ3lPCcYmyN8FaZLcJbQmUVyXNc0zWH0L4SgAsoQ3Y4HGFJUjSLAgGawAPA4GHcBWtA5i4DWVk11KsG1HVdeQAC0ECWDAulID1Pzln6sXxYlNLJS5IlxNlGW9jA2W5T8+U3IV0wlWV5QVYqzQSgg0TiAA4vVjUbs1o3tQ8aByppi19cQthHT8w0tWNX0-dY02zfNf2-CtPxxQlqJwJtwlKu59Feek9yZQd9FHSdZ0wqVl0VH0iqEHYdgPY9iovUNb0ja1n1xAxdL-YDg0ViDH0dazUNzahsNLVw1BAA
Of course this will not work as you don't have our project, but this is our code.
Context 🔦
A more snappy application, which feels the same regardless of OS.
Your environment 🌎
`npx @mui/envinfo`
`Tsconfig`
{ "compilerOptions": { "target": "es5", "lib": [ "dom", "dom.iterable", "esnext" ], "allowJs": true, "skipLibCheck": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "strict": true, "forceConsistentCasingInFileNames": true, "noFallthroughCasesInSwitch": true, "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, "isolatedModules": true, "noEmit": true, "jsx": "react-jsx" }, "include": [ "src" ] }The text was updated successfully, but these errors were encountered: