FPS drops on build 656

Hi guys,
It’s been awhile since i update to the latest daily build but when today i got the new 656 my build for android suddenly has a noticeable fps drop (from 60 to 45+ avg). Also all my sprites now has a weird thin black outline around it.

I tried with an older stable build again and the fps back to 60 and the artifact is gone. Is there something I should know/do on the latest daily build?

Thanks [import]uid: 76697 topic_id: 17371 reply_id: 317371[/import]

We increased the color depth/quality on Android from 16-bit to 32-bit color due to popular demand. This is likely the cause of the frame rate drop. 45 FPS is still pretty good for a mobile device. Is this a limitation that you can live with?

I’ve never heard of anyone reporting black outlines around images before. Does this image artifact issue appear on the simulator too? If so, then this might be an issue with the alpha blended parts around your images. [import]uid: 32256 topic_id: 17371 reply_id: 66055[/import]

hmm… well, I was hoping to get a steady 60fps cause once you get used to 60fps the animation is quite choppy at 40. If you think that’s the cause there’s nothing we can do about it.
For the pngs, it only shows up on device and not on simulator which is weird cause i’ve been using the same png for our sprites and never had this problem before.

ps : i’ve done my research, the latest build that i can build without having the alpha outline and fps drop is 640 [import]uid: 76697 topic_id: 17371 reply_id: 66141[/import]

Out of interest, what specific devices have you seen this issue? And we’d be interested in knowing what the results are on an iOS device. Thanks. [import]uid: 32256 topic_id: 17371 reply_id: 66157[/import]

it’s for LG optimus black froyo 1ghz A7, etc. As soon as i get my imac back from service i’ll let you know how the ios build goes

thanks [import]uid: 76697 topic_id: 17371 reply_id: 66174[/import]

yanuar, are your sprite dimensions in powers of 2? I had the same outline problem when using images that weren’t evenly divisible by 2, but that hasn’t happened in awhile. [import]uid: 120 topic_id: 17371 reply_id: 66510[/import]

the sprite is definitely not in the power of two since they’re sprites. I’m using spritesheet and the texture is power of 2.

is there a way to select between 16/32 bit color? to be honest i don’t see any difference between them so far on my device. [import]uid: 76697 topic_id: 17371 reply_id: 66517[/import]

Only the image file needs to have dimensions of a power of 2. The sprites you use inside of it do not need dimensions of a power of 2. Yanuar, you are doing it the right way. The image file will be loaded as a 32-bit color uncompressed bitmap in memory (because this is what OpenGL requires) regardless of the color depth of the actual file.

I’m still not sure why you are seeing this artifacting issue in your images, but no one else is. There could be a Corona bug here… or it may be an image file issue. Can you take screenshots of this issue on your device and report it to us via the “Report a Bug” link at the top of this page please? You can take a screenshot of your app while it is connected to your PC via USB with the following Android SDK tool…

.\android-sdk\tools\ddms

Thanks!

PS: We can’t give up on 32-bit color apps yet. Most Corona developer want this. And some of those developers are graphic artists who have a better eye for graphic details than you and I. :slight_smile: [import]uid: 32256 topic_id: 17371 reply_id: 66538[/import]

hmm this is getting weirder. Okay, so this problem doesnt affect ios build… so that’s a big collective relief for me :slight_smile:
on the android build though I did another check and the result is this :

  • if i don’t animate my sprites (pause - stop the translation, scaling, rotation but all the sprites are still on screen) then i get my 60fps
  • as soon as i continue the animation it drops to 50fps :frowning: immediately.

I commented out my gamelogic that calculate the animation (to see if that’s the cause) and just translate, rotate and scale my sprites on screen with abritary value and i got 50 fps.

If i include my gamelogic but exclude the part where the sprites translate, rotate and scale then i got 60 fps back.

This is weird, does those operations (I’m using the methods provided by display object) really that expensive?? Why when I build using 630 all is good again?

ps : i only show and animate about 50 sprites on the screen. I can give you the apk of each test to see what happened if you’re interested. I can’t believe no one ever reported this before though…

Thanks… and help pls [import]uid: 76697 topic_id: 17371 reply_id: 67608[/import]

Thanks for the details. I’m sure it will clue us in on where to find this performance issue. Would you mind adding these details to your bug report please? Once this issue is in the form of a bug report, then it’ll get into our queue and won’t be forgotten.

I suspect that there is a performance hit on iOS too, but it is just more noticeable on Android devices compared to iOS devices. [import]uid: 32256 topic_id: 17371 reply_id: 67650[/import]