• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Context3D.clear and Waiting for GPU is killing performance on iOS and Android

Engaged ,
May 22, 2018 May 22, 2018

Copy link to clipboard

Copied

Hi Guys,

Can you think of any reason why would Context3D.clear take so much time to complete. It almost takes as much time as whole Box2D physics simulation (with a lot of objects and joints) which is really crazy and definitively should not happen. This is not happening on Desktop only on iOS and Android.

I have tested this on iPhone 7 Plus. I have also tested on iPhone X but it seams that iPhone X is too fast to be affected by this. I have also tested on Samsung Galaxy s9 with exynos processor which should have very similar performance as iPhone 7 plus and it works so much better on Samsung because I can only assume on Samsung Context3D.clear does not take so much time to complete. I do not have Scout profile of Samsung s9 because I have tested it in Samsung store.

Here is the Adobe Scout profile screenshot:

https://ibb.co/gCuJJ8

And here is the Adobe Scout profile file:

http://bit.do/egX24

In Adobe Scout profile select frames 16,804 - 23,489. It is about of 1 minute of game play. During that time no display or physics objects where crated (you can see that in Memory Allocations tab).

This looks like it is Adobe AIR Bug. Should we create ticket for this. What are your thoughts?

This has serious performance implications for iOS and Android and on devices where my game should work perfectly this is destroying it. And it is just a Context3D.clear method which is stupid really.

I am using latest Starling and AIR 30 Beta. This is also happening with AIR 29.

Thanks,

Caslav

TOPICS
Development

Views

765

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 22, 2018 May 22, 2018

Copy link to clipboard

Copied

This is also affecting Android but it affects iOS way more. Desktop is not affected.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 23, 2018 May 23, 2018

Copy link to clipboard

Copied

Just for the comparison this is how much Context3D.clear takes on Desktop PC:

https://ibb.co/jyHpbT

And that is for more than 7 minutes of game play. It is barely measurable. Only 101 ms for 7 minutes of game play.

This difference is really HUGE.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 23, 2018 May 23, 2018

Copy link to clipboard

Copied

But for example take a look at iPhone X Adobe Scout Profile:

http://bit.do/egPRM

Select frames 1751-5563. There you can see Context3D.clear accounts for 58% of all code time which is insane and on other frames it is normal. One thing I have noticed is that this behavior is changing over time but only on iPhone X. On iPhone 7 Plus it is present all the time. I do not know what triggers it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 27, 2018 May 27, 2018

Copy link to clipboard

Copied

I there anyone that has iOS game that can test with Adobe Scout to see what time do you get for Context3D.clear method?

I also noticed that this is something that is changing at run time. For example when I tested on iPhone X sometimes Context3D.clear takes too much time then when I die in game and when I run System.gc the Context3D.clear returns to normal.

Adobe can you please look into this?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 27, 2018 May 27, 2018

Copy link to clipboard

Copied

On Android Context3D.clear() is normal but there is a lot of Waiting For GPU.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
May 29, 2018 May 29, 2018

Copy link to clipboard

Copied

Further testing also shows that this is not happening at all on iPad. I can not reproduce this on iPad Air 2.

Context3D.clear is working slow only on iPhones. I have tested on iPhone 6s, iPhone 7 Plus and iPhone 10.

On iPad everything is working normal.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Jun 10, 2018 Jun 10, 2018

Copy link to clipboard

Copied

Am I the only one with this issue?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Jun 10, 2018 Jun 10, 2018

Copy link to clipboard

Copied

LATEST

Chaky,

Of course, you're not the only one.

My Scout profile looks very similar (and worse when the dimmed brightness issue occurs)... I am also disappointed that whatever I try, I can't get around this intermittent problem.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines