ionic-team / ionic-framework

A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.
https://ionicframework.com
MIT License
51.03k stars 13.51k forks source link

Transition on iphone 4s regressed between 5 and beta 8 (jerky) #1657

Closed alexbainbridge closed 10 years ago

alexbainbridge commented 10 years ago

I use ion-nav-view animation="slide-left-right-ios7"

Somewhere between Beta 5B and Beta 8 the animated transitions have become jerky (in particular moving forwards to a new detail view from a list) . This is on iphone 4s. (On ipad mini animations are fine on both beta 5 and beta 8)

For this device power, the animation as per Beta 5B was preferable (actually I would go as far as to say that the animations as per beta 8 have to be altered as can't be used as they are)

I think that this is the code that was changed, but I am not sure https://github.com/driftyco/ionic/pull/1504/files

(I just went back to 5b to ensure it was something Ionic rather than something I had done in the meantime - and it is Ionic)

Hopefully we can go back to the previous animation ;)

mlynch commented 10 years ago

@perrygovier do you still have your 4s to test this?

Feels good on my iPhone 5, but maybe we could downgrade the 4S for animations?

I'm guessing it's the box-shadow animation that is causing the issue.

The upside is the animations have improved a lot in terms of how correct they are, but we should evaluate the performance impact of this on old iPhones.

perrygovier commented 10 years ago

Not with me, but I can check it out first thing Monday.

toby-m commented 10 years ago

Hi @alexbainbridge, do you still see this if you use another (non-iOS) transition type? I've run into similar performance issues with transitions when I upgraded from Beta 6 to Beta 8 last week which I haven't solved yet but they might be related.

I notice it on an old (2.2) Android, screen transitions went from ~ 2 seconds to ~ 8 seconds. Some preliminary profiling in chrome (on desktop, not device) shows it spending twice as long in some of the animation calls that changed in the Angular update from 1.2.12 to 1.2.17 that went into beta 8 (89d5553d7f91c49990057a85d39a97be30377c94).

alexbainbridge commented 10 years ago

@toby-m I have only tested IOS (iphone 4s - that is jerky for some transitions, but not where the new view is simple).... IOS ipad mini - which is fine.... android 4.2 on a not very powerful tablet, which is fine.

Actually, I could probably live with the animations as they are now for iphone 4s, as that device will soon be 2 devices back, but hey, would prefer that we could support as far back as we can, especially as it seems it IS possible to get something to transition nicely on iphone 4s power availability, just a release or two of Ionic back..... !

perrygovier commented 10 years ago

iPhone's locked to the previous owner's account still. Stay tuned while I get a hold of him and wipe it.

rajatrocks commented 10 years ago

I am having this same problem on a Moto X running Android 4.4.2 using the same animation="slide-left-right-ios7". I mentioned it in the forums here: http://forum.ionicframework.com/t/v1-0-0-beta-8-fermium-flamingo-released/5739/13 . This only occurred after upgrading to beta8 from beta6. As Mike suggested, I will try the nightly builds.

mlynch commented 10 years ago

Hey, can you guys pull from master and try? I just pushed a fix that removed the box shadow animations which I'm guessing are causing the issue.

Thanks!

On Mon, Jun 23, 2014 at 6:52 PM, rajatrocks notifications@github.com wrote:

I am having this same problem on a Moto X running Android 4.4.2 using the same animation="slide-left-right-ios7". I mentioned it in the forums here: http://forum.ionicframework.com/t/v1-0-0-beta-8-fermium-flamingo-released/5739/13 . This only occurred after upgrading to beta8 from beta6. As Mike suggested, I will try the nightly builds.

— Reply to this email directly or view it on GitHub https://github.com/driftyco/ionic/issues/1657#issuecomment-46916772.

rajatrocks commented 10 years ago

Hey Max - just tried from master, and am still experiencing the same issue (Android 4.4.2 / Moto X / Chrome). I can email you links to the same app running on beta6 and beta8 if you'd like to try it on a device yourself.

mlynch commented 10 years ago

Sure, that sounds great.

As for Android, can you try this instead and let me know how it works:

animation="fade-explode" (for android)

On Mon, Jun 23, 2014 at 7:36 PM, rajatrocks notifications@github.com wrote:

Hey Max - just tried from master, and am still experiencing the same issue (Android 4.4.2 / Moto X / Chrome). I can email you links to the same app running on beta6 and beta8 if you'd like to try it on a device yourself.

— Reply to this email directly or view it on GitHub https://github.com/driftyco/ionic/issues/1657#issuecomment-46919462.

rajatrocks commented 10 years ago

That animation works much better, less jerkiness, more like the ios animation in b6. Can you email me at rajat bunchball.com and I'll send you links to try: b6, b8, and b8 with "fade-explode"? Thanks.

alexbainbridge commented 10 years ago

slide-left-right-ios7 looks better now on ios iphone 4s with 8 beta nightlies 218 Thanks Max!

alexbainbridge commented 10 years ago

At least from my perspective, this can be closed now (iphone 4s).... but because other devices have other issues, someone else can decide when to close ;)

toby-m commented 10 years ago

Yeah the Android issue I'm seeing is on 2.3.4 and with the transition "slide-up-in" so it's probably unrelated. I haven't had a chance to test against master yet but the changes there look like their iOS specific?

juliancesar commented 10 years ago

Hey guys, maybe my issue (#1616) is related with this.

@alexbainbridge , the example http://codepen.io/juliancesar/pen/lnpCb reproduces the problem for you?

perrygovier commented 10 years ago

Hey @toby-m, like google, we're going to be dropping support for Android 2.*. (#1663) Hopefully these updates help though. Have you tried a nightly? Let us know.

toby-m commented 10 years ago

Yeah, I did see that about 2.x, unfortunately I'm without a 4.0 Android to test with at the moment. I should have one next week and if I see the same sort of stuff I'll raise a new issue. Haven't had a chance to try nightlies yet either, sorry.

glomotion commented 10 years ago

Hey people, I just posted to the forum, I'm having what seems to be a related issue:

Animation performance: Nexus5(Android4.4) < Nexus4(Android4.3) = wtf?!?

In short, the exact same code/project (ionic beta8) - runs 10x smoother and faster on a Nexus4 (android 4.3) device - when compared to the Nexus5 (running 4.4.4). The project i use to test this out with is the standard starter "Tabs" project detailed on the ionic getting started page. Is anyone having the same issue as me?

http://forum.ionicframework.com/t/nexus5-4-4-vs-nexus4-4-3-head-to-head-suprising-results/6096

perrygovier commented 10 years ago

Hey @glomotion, we're actively working on improving Android animation performance, and have some related commits in the last few days. Have you tried a nightly build? Does it help?

glomotion commented 10 years ago

Hey Perry, switching to the nightly did help the "tab" starter project to look better, though sadly am still seeing a big performance gap between android 4.3 and 4.4. Very strange.

alexbainbridge commented 10 years ago

Hey I originally opened this, my use case issue (IOS) is fixed in the recent versions..... and as there hasn't been anyone else updating this in the last 10 days, I vote for closing it

(Everyone else talking about android, that seems an unrelated issue to the IOS one)

Thanks @mlynch !

perrygovier commented 10 years ago

Thanks @alexbainbridge

@glomotion, what about beta 9? If not, mind opening a new ticket?

ionitron-bot[bot] commented 6 years ago

Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out.