Search Issue Tracker

Won't Fix



Found in


Issue ID




Vulkan performance is worse than OpenGLES3 and OpenGLES2



To reproduce:
1. Open GraphicsPerf project;
2. Change platform to Android;
3. Change Graphics API to Vulkan;
4. Builld and run on Android devices;
5. Capture frame times;
6. Repeat 3-5 steps with OpenGLES3 and OpenGLES2 and compare results.

Important: let devices to cool down between tests.

Expected result: Vulkan frame time is higher than OpenGLES3 and OpenGLES2.
Actual result: Vulkan is slower than OpenGLES3 and OpenGLES2.

Devices under testing:
-Samsung Galaxy Note 8 (SM-N950F), 7.1.1, CPU: Exynos 9 Octa 8895, GPU: Mali-G71;
-Google Pixel 2, 8.1.0, CPU: Qualcomm Snapdragon 835, GPU: Adreno 540;
-Huawei Nexus 6P (Nexus 6P), 8.0.0, CPU: Snapdragon 810 MSM8994, GPU: Adreno (TM) 430;
-Samsung Galaxy S8 (SM-G950F), 8.0.0, CPU: Exynos 9 Octa 8895, GPU: Mali-G71;
-Samsung Galaxy S9 (SM-G960U1), 8.0.0, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630.

Reproduced with: 2018.3.0a6

  1. Resolution Note (2019.3.X):

    Due to inefficiencies in Mali & Adreno drivers, Vulkan is known to be slower in some cases than ES3. This is caused by drivers, and there's nothing we can do about it right now.

Comments (1)

  1. radioteeth

    Jan 11, 2020 20:33

    You said: "capture frame *times*"
    and: "Expected result: Vulkan frame *time* is higher"

    Are you confusing framerate and frametime? The actual time that it takes for each frame to render is the "frame time" while the number of frames drawn in one second is the "frame rate". They're not the same thing, they're inversely proportional. Higher performance entails lower frame times which equals higher frames per second that are being drawn.

    The expected result for Vulkan performance should be LOWER frame times.

    frametime(ms) = 1000 / framerate(Hz)
    framerate(Hz) = 1000 / frametime(ms)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.