Search Unity

Feedback Performance Overview

Discussion in '2019.1 Beta' started by Peter77, Mar 2, 2019.

  1. vickycl

    vickycl

    Unity Technologies

    Joined:
    Aug 23, 2018
    Posts:
    3
    Hi Peter,

    I have some good news about the investigation! Profiling your project helped us to identify an issue in legacy graphics jobs, as used in the project. The default sync point between the render jobs and main thread had been mistakenly changed to the End Of Frame, causing the main thread to wait for it instead of allowing the rendering to overlap. We have a fix prepared that is being tested for release, but we would really appreciate if you could test this on your hardware, as the issue was highly dependent on hardware configuration and scene complexity. In 2019.1.0a6 onwards, you can mimic the behaviour of the fix by running your test .exe with the command line option “-gfx-jobs-sync=after-script-update” to change the graphics jobs sync point, or by adding this line to the boot.config file. Please let us know if you see an improvement so we know whether this fix resolves it for you.

    Your performance tests also highlighted a Job Queue optimization that was able to give us a small performance gain on our hardware. This will also be available in a future release.

    Our Sustained Engineering team will be taking on the project to use to compare against future releases, as although we have tests in the areas identified, this covers a new configuration. They will especially be looking at the UI, as it was identified as a large part of the regression. However as discussed in a previous thread (https://forum.unity.com/threads/case-1081996-ui-performance-regression.556801/) a lot of this is due to sync fences which are important for multithreaded data synchronization.

    Running your performance tests also helped identify a profiler bug when using BeginSample with an object, causing some user markers to be missing. A fix for this is also being currently tested, and you can track this case here.

    Thanks again for taking the time to send us your feedback and your project. It has been really useful, and I hope that you will see visible performance improvements made as a result :)
     
    Peter77, AmandineMJ, mh114 and 13 others like this.
  2. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    3,897
    I used 2019.1.2f1 to run the test, here are the results:

    scene_4_3.png

    scene_5_4.png

    scene_6_8.png

    Unfortunately, 2019.1 is still behind 2018.1 on my PC.

    Thanks to the team for looking into it and coming up with fixes and improvements! At one point, I wasn't really sure anymore whether it made a difference that I sent my project, made those performance tests and reports. I'm glad it did pay off and helped to make Unity a better product!

    Do you want me to test any other Unity version with the “-gfx-jobs-sync=after-script-update” commandline option?

    Can I expect that at one point in time, Unity is at least as fast as 2018.1 again?
     
    Last edited: Jun 16, 2019
  3. vickycl

    vickycl

    Unity Technologies

    Joined:
    Aug 23, 2018
    Posts:
    3
    Hi Peter,

    Glad to see that this has given you some improvement. The fix has landed in 2019.3.0a7 and is currently in the process of being backported. If you could run the tests with this commandline on your 2019.2 beta version too, that would be much appreciated.

    We're still discussing as a team the next steps. Thanks so much for your patience!
     
  4. Peter77

    Peter77

    Joined:
    Jun 12, 2013
    Posts:
    3,897
    vickycl likes this.