The (first-person) game I’m working on features an automated performance test. It works like this:
-
Camera is placed at a defined position in the scene
-
Camera makes a 360 degree rotation around the Y-axis within 20 seconds (slowly rotating around y)
-
Every second the test captures the average CPU frame time of the last second
The game runs just like it would normally do, but the camera/player does not move and the AI in unable to see the player.
I ran this test with three different builds (Standalone Windows 64bit):
-
2017.1.1p3
-
2017.2.0f1 without any modifications
-
2017.2.0f1 with Physics.autoSyncTransforms=false, Physics2D.autoSyncTransforms=false, Physics2D.autoSimulate=false
2017.2 performs worse in every scene compared to 2017.1. Some scenes are a bit slower only, while others are significantly slower. I picked a few random results and exported the data as images, which you can find below.
The y-axis represents the average CPU time in milliseconds, how long “one frame took”. The x-axis represent the sample points while the camera makes its 360° rotation. Each test runs for 20 seconds, one sample every second, thus 20 samples for each test.
As shown in the last image “SCENE 6_8”, 2017.2 is up to 10ms slower than 2017.1 in my game. Using the new Physics Optimizations makes it run faster, but it’s still 2ms slower than 2017.1.
Is anybody seeing similar performance issues? Is Unity Technologies aware of these performance issues?