Admob plugin causes frame rate drop when the ad cycles

No new information.

Hi Rob,

Just wanted to add that I also have this problem.  Samsung GalaxyS4 Galaxy Mini.

cheers

Hi Rob,

Not sure if this info helps any further, but my experience is that this is an intermittent problem, and not just with AdMob.

I only use the Vungle plugin and AdMob.

When the fps drops with Vungle, it certainly does seem to recover a lot quicker than with AdMob (probably 90% of the time, sometimes it hangs around longer).  Vungle ads only cause a fps drop about 10% of the time.

I have occasionally seen an AdMob ad, with no drop in fps.  This is quite rare though, maybe 5-10% of the time?

Sometimes the fps drop will go away pretty quickly.  Sometimes it just hangs around like a rotten smell and I end up quitting the app and re-opening it - though this probably only happens 10% of the time.

My phone is only a couple of months old Galaxy 24 mini - doubt very much it has performance problems as there’s hardly anything running on it.

I have also seen an fps drop with no ad in sight, but this probably only happens 1% of the time, there’s no doubt in my mind that showing an ad is the major contributing factor of an fps drop. 

I have not noticed it on any iOS device but I haven’t tested as much there.

This issue is now the only thing stopping me from moving to a permanent freemium model.  As with others we’d really appreciate Rob if you could keep us up-to-date, (with an ETA if possible) at least every few days - even if it’s only to say “nothing new yet”.  This bug is a show-stopper.

thanks

btw i only show interstitial ads

I am also interested about this. I was wondering if dropping the fps to 30 (instead of 60 fps) would help a little?

Thanks.

Mo

After some testing, it seems that iOS is slightly less compromised by adMob (text)banner cycles. Samsung Galaxy S4 shows immediate framedrops, while iPhone4S and iPad2 have a less significant framedrop, but it’s there nevertheless. 

iAds seems to be better. Revmob has no issues, but they don’t cycle (atm). In my code the banner is loaded in the menu screen and displayed throughout the game. Not reloaded per level for instance.

And i agree with ‘editor’ his experiences. Some ads show ok *mostly graphical banners*, while text banners with vertical effect causes the most framedrop.

Rob, If it’s handy I’m willing to hand over my complete app which has the issues, if you still need it.

It’s just a flappy bird clone so nothing exciting there. I would be very happy if the issues can be resolved quickly.

yea, from my experiences its pretty much whenever anything gets pushed to the banner, so if you’re banner happens to be displaying a static image ad and only refreshes say every 120 sec (max setting on admob) or doesn’t refresh like on revmob, then it’s generally less noticeable, BUT in the case of admob’s backfilled google text ads, it cycles almost every few seconds and renders the game impossible to play.

This is such a deal breaker, I’m not sure if I’m renewing my membership when it expires in a couple weeks…  This is making android virtually profit-less on a freemium model, so I might as well just code natively for iOS…

Really hoping more devs cry out about this issue so we can get some turnaround or something.

Just curious, am I right in saying that everyone else is complaining about banner ads?  My complaint is with interstitials.  My experience is that once an admob interstitial ad is shown, down goes the fps for a seemingly random period of time which can be just a few seconds or seemingly ongoing until i quit and restart the app.

Yea I haven’t noticed anything horrendous with my interstitials, though I’ve only really used Chartboost and they’re always being shown at game end or some other static point in the app.  I do think a scene change usually happens afterwards so i don’t know if that inherently is cleaning some things up for me or not, but I guess its worth a shot for you.

is there anyone else that notices a fps drop after showing admob interstitials?  Maybe this can give the techs a better clue where the problem lies Rob?

I don’t know about interstitials… I started this topic for admob banner ads as I have never used interstials yet.

@editor; I’m also only using banner ads, no interstitials. But I do think that Google changing Admob’s SDK to google play integrated code seems to have something to do with it. I’m also experiencing slowdowns when I integrate Google Play services (when loading the game, google game play service icon apears, slows down the FPS tremendously). So I’ve removed it from the production version.

See also another user with a similar error:

http://forums.coronalabs.com/topic/37474-google-play-game-services-and-admob-plugins-slow-down-android-game/

Update:

I’ve just tried an interstitial banner, it loads up very slow, loss of framerate indeed. But that’s probably because I load it up between scene transitions?

I also noticed this today on my Galaxy S3. I’m running the latest public build.  

It’s been 2.5 weeks since the last update. Has there been any new developments?

Engineering is looking in to it.

Hi Rob,

Can you please let us know what exactly are they looking into?  The original issue, or other issues that have been raised as well?  I think the original issue was about the AdMob banner ads dropping fps.  My problem is that interstitials often drop the fps in my app.   I think someone else said other plugins like Google play services are doing it too.

Just need a bit of peace of mind as I’m waiting for this issue to be fixed before I can make my game freemium.  I’d hate to be waiting if they’re not even looking into my problem.

thx

The bug report that was submitted has to do with banners.  However, this forum post which is also shared with engineering has additional information.  Google is moving AdMob to the Google Play service and the point of attack may be to go that route.  Beyond that I have no more information on what the plans are.

There is a similar post on Stack Overflow from a native developer:

http://stackoverflow.com/questions/9366365/android-admob-admob-ad-refresh-destroys-frame-rate

This seems to be related to the animated ads and apparently there is a setting in the AdMob portal that controls if your app gets these or static banners.  You should see if changing that settings addresses the problem. 

Thanks for the link Rob.  I’ve stumbled across that before as well.  Unfortunately, that thread is dated back to 2012 back when everyone was still using the old admob portal interface that did indeed have a control setting that turned Google Ads on/off (though from what I’ve read, it was still mixed bag whether it actually worked like it should).  For anyone that’s using the new admob portal interface, that setting just plain doesn’t exist.  Even if it did, it would only be a partial fix as it takes care of the most horrendously offending frame drops (text cycling every few seconds), but still wouldn’t address when the actual ad banner content changes, image or text (every 60, 120 seconds, or whatever you have it set to in admob’s portal).

I honestly think it might just be android’s underlying webview flaw.  From what I’ve experienced over the years developing for Android natively, the webview they expose to developers just plain sucks.

It was explained to me like this:  When you are doing animation based on enterFrame (which transitions do), you’re not using a precise system. The enterFrame event’s are a best case firing and can be delayed by other things going on in the app, like long blocking loops, other plugins, stuff going on in the OS etc.  Since Corona depends on things not blocking, we are at the hands of the OS or the whims of the native side of the app.

Rob

Does this mean that there isn’t likely to be a fix? It would be good to know now so that I can work around it, by replacing admob or removing those ads altogether…

Isn’t it possible to create some kind of function that pushes an action, such as ads.show to another thread / background allowing enterFrame to work unhindered? Perhaps for things like ads it should be automatic.I mean, what’s the point of having 4 core phones if we can’t?