Forum Discussion

🚨 This forum is archived and read-only. To submit a forum post, please visit our new Developer Forum. 🚨
g33rt's avatar
g33rt
Honored Guest
9 years ago

Unity 5.4 beta

Anyone trying out Unity 5.4 beta? Does it work with 0.8 runtime? Does it live up to its spectacular performance improvement claims?

Geert

2 Replies

Replies have been turned off for this discussion
  • Anonymous's avatar
    Anonymous
    Yeah I tried it, and it works with 0.8 runtime. There are some really promising results, but there also seem to be a couple of issues that will hopefully be cleared up before full 5.4 release. First up the issues:

    1. Turning on the 'Graphics Jobs' options seems to crash application when run with auto-connect profiler and profiler connected and running. I had to disable the profiler so I couldn't collect any benchmark data other than raw CPU overhead.
    2. Turning on 'Single-Pass Stereo Rendering' seems to break Camera Left-Eye/Right-Eye support. This is only important if you have main both-eye camera you want to render in single pass and have secondary cameras for per-eye effects (mirrors/water reflection/etc.).

    This thread over on Unity has some really good info on all of the 5.4 optimizations if you haven't checked it out:
    http://forum.unity3d.com/threads/upcomi ... ons.379138

    I decided to run some benchmarks like I had previously done over in this thread for past Unity version comparison:
    viewtopic.php?f=37&t=26574

    I made a modified version of the benchmark project in the above thread, so the numbers below are not directly comparable to the other thread. I made the scene slightly more complex with more draw calls. I made it about as complex as possible without dropping frames due to GPU saturation.

    Quick results (higher is better - # indicates amount of CPU time left on main thread for your app logic/physics/etc.).

    i7-4710@2.5Ghz
    980M (no optimus - performs somewhere between 960 and 970)
    Windows 8.1 64-bit


    Unity 5.2.3p3: 9.6ms
    Unity 5.4.0b7: 10.7ms
    Unity 5.4.0b7 + single-pass stereo enabled: 12.0ms
    Unity 5.4.0b7 + single-pass stereo + graphics jobs enabled: 12.5ms

    Note for graphics jobs enabled number above I had to disable profiler to prevent crashing so some or all of that gain might just be from having profiler off. I was collecting profile data at same time so I could compare that as well.

    Considering the above is for 75fps (13.3ms) DK2, I think the results are pretty remarkable. If you subtract the numbers above from 13.3ms total CPU time available per frame, it starts to look like the gains from the slides Unity presented at the summit:


    Unity 5.2.3p3: 3.7ms
    Unity 5.4.0b7: 2.6ms
    Unity 5.4.0b7 + single-pass stereo enabled: 1.3ms
    Unity 5.4.0b7 + single-pass stereo + graphics jobs enabled: 0.8ms


    I also looked at CPU/GPU profiling in editor as well as Oculus Performance HUD. Profiling results aren't quite as clear as the overall # above because they rearranged the rendering system calls making 1-to-1 comparison harder, but here is what the Oculus performance HUD reports in each of the cases:

    Unity 5.2.3p3:
    App Render GPU 10.2ms
    App Render CPU 6.1ms
    Unity 5.4.0b7:
    App Render GPU 9.4ms
    App Render CPU 6.0ms
    Unity 5.4.0b7 + single-pass stereo enabled:
    App Render GPU 8.9ms
    App Render CPU 3.2ms
    Unity 5.4.0b7 + single-pass stereo + graphics jobs enabled:
    App Render GPU 8.9ms
    App Render CPU 3.2ms


    So 5.4 is really going to help you a lot if your application is CPU-limited. The gain won't be as noticeable if you are already GPU-limited.

    ccs
  • g33rt's avatar
    g33rt
    Honored Guest
    Ok, looks promising indeed. Thanks for the analysis, ccs!