Jump to content
Search Community

IOS6 upgrade TweenMax crash :)

FWDesign test
Moderator Tag

Warning: Please note

This thread was started before GSAP 3 was released. Some information, especially the syntax, may be out of date for GSAP 3. Please see the GSAP 3 migration guide and release notes for more information about how to update the code to GSAP 3's syntax. 

Recommended Posts

I have updated today my ipad3 and all my work where I use TweenMax is not working correctlly anymore, initally I toucht that is something wrong with my code or safari but I made in the same gallery a test, some elements I tweened with TweenMax and some with jquery.animate , the ones tweened with Tweenmax are freezing and after the twween is finished they appear in the correct postiion, the ones made with animate runs fine.

 

It is really important for me to know if you guys are fixing this stuff beacuse all my work is based on TweenMax, if not please let me know I can't wait four months for a fix.

 

Best regards.

Link to comment
Share on other sites

Absolutely we're committed to fixing ANY and ALL bugs that pop up. Unfortunately, a huge portion of them are bugs in the browsers themselves and we need to figure out workarounds. However, there can certainly be bugs in the GreenSock code itself. Either way, though, we're working hard to resolve anything that pops up. If you look at our track record, we're pretty well-known for solid support and prompt fixes.

 

We're currently looking into the iOS 6 thing and we'll update you ASAP.

 

You said that TweenMax isn't working correctly anymore - can you provide more details? Nothing works at all? Only in iOS 6? Did you get the latest files as of LATE this morning (because there was a regression that creeped into a post yesterday but it was reverted back this morning)?

Link to comment
Share on other sites

Okay, I just posted another update that should resolve the iOS 6 startup issue (which, again, was a browser bug, not a GreenSock issue). I apologize for the regression that was introduced yesterday, however - that was my bad. Please download the latest version and let me know if it works well for you.

Link to comment
Share on other sites

I did downloaded the new files but still the same problem, please check out the link below

 

http://webdesign-fla...nimal_skin.html

 

What is happening there, I use an interval for positioninng the thumbs and tweens are used only for a few thumbs, what is happeing while the thumbs are tweening on ios6 they freeze and appear at their final position, I tested this with jquery animate and is working fine so surly is a TweenMax bug.

 

Please test it on PC to see how the thumbs are animating to get the idea, also if you touch and swipe at some point the up, down and fullscreen button are hiding and showing after a few seconds, the up and down buttons are tweening fine with jquery animate the fullscreen is freezing using TweenMax.

 

Another thing on ios5 before the update the gallery worked fine no TweenMax problems.

 

I apology for giving you bad news but this are the facts.

Link to comment
Share on other sites

Of course!

 

Thanks for the additional info. Could you send me a very simple version of a file that works with jQuery and then another file that's identical but uses TweenMax and doesn't work? It does NOT need to be your production file(s). The simpler the better.

 

This would really help us troubleshoot.

 

I looked at the site on the desktop and iPad. I saw that the intro animation of all the images happens nicely on the desktop, but not on the iPad but I'm wondering if it has something to do with overwhelming the processor of the mobile device with so many moves, thus the frame rate drops radically. But if it works smoothly with jQuery, then clearly that's not the case.

 

Oh, and please snag the latest JS files posted tonight - another improvement was added to work around iOS's bug.

 

Could you get me the sample files as soon as possible? I know you're in a rush to get this resolved (and so am I). Thanks for your patience.

Link to comment
Share on other sites

I believe I have discovered the inconsistency in iOS 6 that's causing the initial lag - the browser isn't dispatching any requestAnimationFrame events during that time! By default, GSAP attempts to use the requestAnimationFrame feature of modern browsers in order to maximize performance and minimize battery usage (especially when the tab/browser isn't active). If you Google requestAnimationFrame, you'll find lots of info about why it's smart to use. jQuery doesn't use it (last time I checked at least).

 

Anyway, requestAnimationFrame is supposed to be called roughly 60 times per second by the browser unless there's a bunch of strain on the processor in which case it'll get as close as possible to that. However, iOS 6's Safari isn't doing that properly, hence the lag.

 

Luckily, GSAP gives you a way to control whether or not it uses requestAnimationFrame for its timing/pulse mechanism. To disable it and use a setTimeout() instead, just do this:

 

//disables the requestAnimationFrame functionality and causes GSAP to use a simple setTimeout() internally (pretty much like jQuery). 
TweenLite.ticker.useRAF(false);

 

When I added that one line of code to your project, BOOM, the intro animation showed up.

 

Does that solve things for you?

 

If you want to get the benefits of requestAnimationFrame but avoid the initial lag, you could just set it initially to false and use a delayedCall() or setTimeout() to call a function after...I dunno...maybe 5 seconds...to call TweenLite.ticker.useRAF(true).

Link to comment
Share on other sites

Just a note I tried what you suggested to call after 10 seconds the

TweenLite.ticker.useRAF(true); and the same problem occurs tweens are not rendered.

 

Thank you for your help, support is great. I think some workaround must be made in the TweenMax engine to detect this bug ( I am not sure if this is even possible), basically all projects who are a bit intense will suffer from this bug, not a TweenMax bug a browser bug but still a bug:)

 

When I think about Steve Jobs and his toughts on flash, well I could write a few thoughts on my own about safari :)

  • Like 1
Link to comment
Share on other sites

When I think about Steve Jobs and his toughts on flash, well I could write a few thoughts on my own about safari :)

 

Amen! Yeah, in my experience Safari is the most buggy browser on the market, except maybe old versions of Internet Explorer. Apple makes great hardware. Some of their software is quite nice too, but it's really hit-and-miss. VERY disappointing as a developer.

 

Anyway, thanks for the input. I'm glad things are working well now for you. I'll ponder whether or not it's a good idea to just sense when Safari is being used and make the default timing mode based on setTimeout() rather than requestAnimationFrame, but I really hate doing that because it nullifies all of the advantages of RAF, like better power management, [allegedly] better performance, etc. But if it's broken in Safari, sadly we may need to avoid it.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...