Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
  • Help Room /
avatar image
2
Question by JasonVSG · Jan 12, 2017 at 03:04 AM · profilerperformance optimization

Performance Problem: Unaccounted time between: LateBehaviourUpdate and CanvasRenderer.SyncTransform

So our company mobile game project has hit a major performance issue. We are suffering performance waves after a specific scene transition. And this wave persists through the rest of the application life time.

I'll start with by breaking down our scene flow 1. Splash Login 2. Main Menu 3. Battle 4. Main Menu .. rinse and repeat.

Our performance for going to the MainMenu the first time is fine. Not great. But it's 55 fps+. Once we go into the Battle our performance drops a lot when larger parts of the UI are open. Once we go back to the MainMenu our FPS is 30fps. And when we back in the battle our performance gameplay is even worse. For the rest of the application's life time this performance drop remains.

This issue occurred last week, apx a week after we migrated from Unity 5.40f3 to 5.5. Our first builds after 5.5 were fine. No performance problems. We have no notable features added, just mostly cleaning. ANd with the few small new features that were added we disabled them.

So going into our profiler we found that our main menu was acceptable for now, but our main menu was horrifying after the battle.

Here is is a snap shots of our Main Menu running on a Nexus 4 Android Phone. As can been seen mostly in the 60fps. MainMenuPreBattle

However once the battle is over we show a small UI in the Battle that informs you your rewards. The performance lowers. But there is little UI in the battle scene so this is barely acceptable. But once going back to the MainMenu this is the new snap shop of the profiler. As one can see the performance is down to around 30, and performance hits are in these waves.

In DeepProfiling the biggest cause seems to be "Unaccounted time between: LateBehaviourUpdate and CanvasRenderer.SyncTransform". In the non deep profiling this called Canvas.SendWillRenderCanvases.

Main Menu Post Battle

mainmenu-prebattle.png (287.4 kB)
mainmenu-postbattle.png (212.3 kB)
Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image JasonVSG · Jan 12, 2017 at 09:48 PM 0
Share

I should have added that we are on Unity 5.5.0f3 for these profiling.

2 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by Sparklapse · Jan 13, 2017 at 10:03 AM

Weird thing I found that worked was setting your layout back to default (button is in the top-right corner.) I found it went from 24fps to 80fps. This may just affect me but I reckon it's worth a shot. I'd recommend to save your current layout before if you want to keep it (just in case). Let me know how it goes!

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
1

Answer by JasonVSG · Jan 13, 2017 at 04:09 PM

@Sparklapse Thanks for offering the suggestion. Unfortunately this had no impact on the mobile device performance.

Unaccounted time between: LateBehaviourUpdate and CanvasRenderer.SyncTransform and Canvas.SendWillRenderCanvases

are still causing performance issues on mobile device.

Comment
Add comment · Show 4 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image JasonVSG · Jan 13, 2017 at 10:34 PM 1
Share

The problem is resolved.

We hooked into the Unity Event system by way of a third party UI. We hooked in with an On Close event. However something strange was going on. When the object is destroyed our performance drops.

I think it might be from using uisystem.oncloseevent -= eventfoo;

once we did that our performance shot up a lot.

avatar image Masteruz JasonVSG · Feb 25, 2017 at 02:34 PM 0
Share

@JasonVSG I have a similar issue but can't really understand your solution. Could you please explain what your solution was. Thanks in advance!

avatar image ouyangzpeng · May 10, 2017 at 02:16 PM 0
Share

can you explain what your a third part UI name,thanks

avatar image JasonVSG ouyangzpeng · May 10, 2017 at 04:08 PM 0
Share

We were using DoozyUI.

DoozyUI UIElement has an OnCloseEvent. We added a delegate to the onclose event. However, do to the fact that the delegate wasn't removed on Destroy, something was causing a performance issue. Once we added the -= function our issue was solved.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

93 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Gfx.WaitForPresentOnGfxThread costing over 30ms at RANDOM 0 Answers

Scene Culling WaitForJobGroup Causing CPU Spikes in 2D project 0 Answers

AICharacterControl Spike in Profiler 0 Answers

Mobile Performance Issues 0 Answers

3D Optimization Problem 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges