Hi everybody! We are trying to improve performance on our Android project and like many other developers have lots of CPU time spent in Camera.Render. To figure out how we can improve performance just with Player Settings we have created simple test which issues 1000 unbatched draw calls and track Camera.Render time in Main Thread using Unity Profiler->CPU Usage->Timeline. All tests are made on Samsung Galaxy S8. Unity version: 2019.1.4f. Settings we tested: - Graphics APIs: Vulkan, OpenGLES 3.0, OpenGLES 2.0 - Target Architectures: ARMv7, ARM64 - Multithreaded Rendering - Graphics Jobs Interesting facts: - OpenGLES 3.0 and OpenGLES 2.0 shows nearly equal results, so no need to provide separate info for them. - Vulkan is about 20% faster then OpenGLES. - Multithreaded rendering is about 1.5-2 times faster both for Vulkan and OpenGLES. - (!!!!!!!) ARM64 is about 2.5 times faster than ARMv7 but doesn't used by default (!!!!!!!!) The most interesting part of this test is Vulkan: - Multithreaded Rendering (true), Graphics Jobs (true): 20.1 ms - Multithreaded Rendering (true), Graphics Jobs (false): 20.1 ms - Multithreaded Rendering (false), Graphics Jobs (true): 2.7 ms (!!!!!!!!!) - Multithreaded Rendering (false), Graphics Jobs (false): 32.8 ms It looks like Graphics Jobs are working only in case of Multithreaded Rendering is disabled. And this is the point of Player Settings collision. For Vulkan we want to disable Multithreaded Rendering, but we want to enable Multithreaded Rendering for OpenGLES. Also, there is no ability to enable/disable Multithreaded Rendering in run-time. The only thing we can do is prepare separate apk's, but it's really inconvenient... My suggestion is to change Unity logic on selecting rendering path. The optimal way is to use Graphics Jobs even if Multithreaded Rendering is enabled. Other solution to this problem is to provide API which can change Multithreaded Rendering option during run-time. Do you have any ideas how to solve this problem now or in the near future?