Jump to content


debugging iphone 4/4s

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

Hi guys,

i have a few canvas games that were built with easeljs 0.6.1.
These worked fine with greensock but i have noticed since upgrading to easeljs 0.7 that a few of the games now completely die to a frame-rate of 1 or 2 when run on iphone 4 /4s...


they all run fine on pc and ipad 3 and are much improved on android which was a little low fps with 0.6


It could be an iOS 7 thing as the iphone 4's are ios7 and the ipad was ios 6.


Just wondering if anyone else has come across this or can throw some light onto why these run bad suddenly... it only affects a few which is even stranger.... they are all skins of the same game!



Link to comment
Share on other sites

Do you have some reason to believe this is caused by GreenSock and not the changes to EaselJS? What do the EaselJS folks have to say about this? I'm not an EaselJS expert sorry, so without an example to look at, it's tough to analyse this for you.

Link to comment
Share on other sites

Hi Jamie,
Thanks for the reply :)
I'm not pinning this on greensock i'm just trying to figure out why its just seems to be on the iphone 4/4s really. I was just asking if anyone has come across any issues with these devices on ios 7 and if so how did they get round them.


It runs lovely on the galaxy tab now which it ran horribly on before... makes no sense lol.



All i can think is that it perhaps easeljs now has higher overheads or lower limits on graphic memory now? its weird... as i say the other skins run fine.

Unfortunately the code is behind closed doors so i cant show any examples... i know lol not very helpful!



Link to comment
Share on other sites

This definitely seems like a graphics rendering issue which GSAP has zero control over, as GSAP is only changing numeric values over time (very little processing overhead). 


I would first suggest that you run your games with easel .6 on ios7 iphone4, does reverting back to .6 help at all?


If easel .6 gives you same performance as .7, then It would seem pretty clear that ios7 is the cause of the issue.




Also, have you tried visiting the easelJS demos on your iphone4 ios7 device? Do the easel demos run worse? This is a great way to test the ios7 theory without any concern of GSAP being involved.


I would further suggest that you make a reduced test case with NO GSAP involved. Make a moderate stress test which simulates some of your game animation. Perhaps a loop with 100 TweenJS tweens and see if there is a noticeable difference in easel .7  and .6. 


A google search for ios7 canvas performance has a few results of mixed value. Also haven't found much on the easelJS forums. 


I'm sure if you can come up with a simple example that yields drastically different results with different versions of Easel and iOS the easel team will appreciate the effort and have a head start at trouble-shooting further. 


Likewise if you can produce an example that proves GSAP to be the culprit we will certainly investigate further.

  • Like 1
Link to comment
Share on other sites

As always Carl you replies are amazing :)

if anything it must be an issue with iphone 4/4s with iOS 7 or easelJS 0.7 on the 4/4s


have tested it with iphone 5 and 5s both work full speed, ipad full speed, even the galaxy tab now runs amazing.. its just crap on the 4...

I will research further and post the results here in the chance someone else can benefit from 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.