iOS 9 graphics transparency issue

Hi there,

This is also a huge problem for our app that is currently released. We use brightness on thousands of images in our app and they are all displaying incorrectly.

As a temporary solution we are considering looking at the device and if it happens to be an iphone 6’s, then we will not use brightness. Would this temporary solution be possible?

Thank you!

@jhow, you can create a custom shader effect (https://docs.coronalabs.com/daily/guide/graphics/customEffects.html)

Here’s a version of the brightness shader that accounts for 0 alpha in the Shader Playground, the first component of CoronaVertexUserData is the “intensity”: https://goo.gl/Urhkj2

We have the same problem in a currently released app - seems to happen on iOS 9 newer devices (iPad Air 2, iPhone 6). Could the exposure filter be a possible solution?

Exposure works fine! If this problem really happens because of a general thing about the brightness filter, I don’t understand why it only happens on newer devices with iOS 9.

Hi all,

The brightness filter issue should be fixed as of daily build 2016.2831. The hue filter will be fixed in a daily build shortly following that one.

Best regards,

Brent

I am running daily build version 2802, but am using no effects - simply displaying a Bonus 50 Points text display object that appears 95 times properly and 5 times as completely black - the entire width of the object, even if the text is only a fraction thereof.

This is definitely an outstanding issue that needs to be addressed.

Hi @troylyndon,

There’s no way to know what’s going on without seeing some code. :slight_smile:  Also, you could be blowing your texture memory out of bounds via unrelated tasks, so the 5 times this object displays as “fully black” is actually not related to the object itself.

Thanks,

Brent

This problem still occurs in Daily Build 2830.

This sounds more and more like a texture memory issue, because it occurs “randomly” 5% of the time, and I’m guessing those times are not consistent. Do you have a considerable amount of graphical assets loaded simultaneously? Can you standardize this to occur at regular times?

Brent

@troylyndon I think you replied to the forum email which didn’t post your message here. Please post your message here.

Thanks

Rob

My app takes up 150MB when it’s running - so I’d have to say Yes to your question.

Is there a simple way to flush unused texture assets?

I started writing this app before Composer and when I was going to update, Composer was no longer an option. The release notes from build 2830 mentions that Composer is again working on Mac. Am I safe to start using it without risk now?

Meanwhile, I manage my own display groups.

These all relate to asset creation and management which is why I’ve included these questions here. Any thoughts?

Considering the “black box” syndrome, this seems more likely related to GPU texture memory than overall memory. 

It may help to run a simple texture memory check on a repeating timer and monitor the output, checking to see exactly how high it gets around the time (if possible to determine) some of the objects appear corrupted. This one has served me well in the past:

[lua]

local function memCheck()

    collectgarbage(“collect”)

    local memUsage_str = string.format( “MEMORY= %.3f KB”, collectgarbage( “count” ) )

    print( memUsage_str…" | TEXTURE= "…(system.getInfo(“textureMemoryUsed”)/1048576) )

end

timer.performWithDelay( 1000, memCheck, 0 )

[/lua]

Brent

By the way, are you using masking techniqes like graphics.newMask() and so forth? Or are you using a lot of auto-masked elements like ScrollView widgets, containers, etc. which may be nested inside each other?

Also display.newContainer uses masks too.

It’s standard display text, but it is in a container.

It’s standard display text, but it is in a container.

OK, then unless that container (with text) is nested inside another masked element, and that’s inside another, then you probably aren’t exceeding the documented nested masking limit of 3. That points more to my first suspicion of texture memory.

Brent

The problem also happens outside of the container. I’ll report back my findings w the code you provided to check texture memory. How can we tell if it’s limit is reached?

Every device/GPU has a different threshold. It would just be useful to guage some numbers to help diagnose if this may be the root issue.

Is there any news on this? i am having this same problem but do not want to abandon my hue filters.

thanks