Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default to Vulkan on Android 8+ #12228

Closed
hrydgard opened this issue Aug 9, 2019 · 13 comments
Closed

Default to Vulkan on Android 8+ #12228

hrydgard opened this issue Aug 9, 2019 · 13 comments

Comments

@hrydgard
Copy link
Owner

hrydgard commented Aug 9, 2019

Vulkan drivers are in better and better shape, and I think it's time to switch the default back to Vulkan on Android, at least for newer Android versions - from 8 or 9, not sure which.

On PC we'll stick to D3D11 for now I think.

@Panderner
Copy link
Contributor

What about android devices that doesn't support vulkan?

@GuilhermeGS2
Copy link

Adreno drivers for Vulkan is still not good enough, many games run better on OpenGL than Vulkan, I'm on Android Pie and poeple on Android Oreo will have even worse drivers. Most demanding games won't run at 2xPSP resolution here, while OpenGL runs fine.

Most recent devices have updated drivers that seems to perfom better on Vulkan, but other devices might only receive this update when Android Q arrives.

@hrydgard
Copy link
Owner Author

Do games on Adreno still run better with GL on Pie with the latest builds of the emulator? One recent change should have helped Vulkan catch up (prerotation)

@unknownbrackets
Copy link
Collaborator

I think this makes sense, although I think it'd be best probably for Adreno 5xx to specifically default to GL. A bit complex to get that, though.

-[Unknown]

@hrydgard
Copy link
Owner Author

We could also do a whitelist of popular device IDs, and for example default to Vulkan on all the international Galaxy phones (the Mali drivers are actually very good now).. though we'll miss a lot of devices that way

@GuilhermeGS2
Copy link

I'm always using latest build. I have the driver V@331 from September 2018. I've seen some indications that versions released this year focused more on Vulkan. I checked the Galaxy A70 (Snapdragon 675) with driver V@334 from March 2019, and it supports some Vulkan features that on my device is said as "not supported" on AIDA64.

@hrydgard
Copy link
Owner Author

hrydgard commented Aug 11, 2019

So could you list a few games that run worse in Vulkan for you? Supported features are not that important but general driver quality is of course.

@GuilhermeGS2
Copy link

God of War Ghost of Sparta, Midnight Club 3 and Los Angeles. The three demanding games I have on my phone at this moment, and both run better on GL than Vulkan. The lower performance of the first two game can be already noticed in the main menu, which on OpenGL run at full speed (60 FPS) and on Vulkan run around 40-45 FPS, using 2xPSP resolution.

@hrydgard
Copy link
Owner Author

On ARM Mali it's exactly the opposite - on my Galaxy S8+, the heaviest games run 60+ on Vulkan and around 40-50 on OpenGL. Funny. I suspect Adreno's GL driver might be doing some optimizations I've been wanting to do for Vulkan on its own in the background (in case of God of War, merging render passes that are separated for no good reason)...

@GuilhermeGS2
Copy link

I don't know if you already know the pages I'll put below, but it might help you devs:

https://vulkan.gpuinfo.org/
https://opengles.gpuinfo.org/

You can check the status of Vulkan and OpenGL ES support of the reported devices.

@hrydgard
Copy link
Owner Author

Very aware of those pages, but they only list features, formats and limitations, which tells nothing about the performance of a specific driver.

@Leopard20
Copy link
Contributor

This is pretty strange. On my phone with an Adreno 530 with v@313 OpenGL driver, Vulkan (API v1.0.62) is nearly identical or even better than OGL (at least for some time; as I reported before, performance gets worse over time). I'm on Android 8.0 though.

@GuilhermeGS2
Copy link

GuilhermeGS2 commented Aug 12, 2019

@Leopard20 it's the same when I try a less demanding games, they run the same on both API. Your CPU and GPU are more powerful than mine, you're likely to not have performance issue on more demanding games or settings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants