libretro / flycast

Flycast is a multiplatform Sega Dreamcast emulator. NOTE: No longer actively developed, use upstream repo for libretro from now on - https://github.com/flyinghead/flycast
http://reicast.com
GNU General Public License v2.0
155 stars 77 forks source link

[Android] Vulkan very slow on Android 11 #1135

Open RaduNastase opened 2 years ago

RaduNastase commented 2 years ago

Device: Rog Phone 3 OS: Android 11 Renderer: Vulkan Retroarch: 64 bits

I recently upgraded to a Rog 3, from my old OnePlus7, which i always kept on Android 9 because everything worked so well in both Vulkan and GL.

Now with Rog 3, the core runs well in GL, but some games (ex. Project Justice) need Vulkan and "per-pixel" sorting, for some graphic bugs to be mitigated. However, to my surprise, Vulkan works VERY bad on the new phone and Android 11, half speed, with the same settings that i had full speed previously. Other Vulkan apps (emulators, benchmarks) seem to have the proper results, no issues. Anything that can be done?

Thanks so much!

Edit: in the last couple of hours i've been testing also Retroarch 32 bits and it works much better in Vulkan with Flycast. However, the moment i change the Core setting to: per-pixel, i get an instant Retroarch crash. In either per-strip or per-triangle, it works well (but the graphical issues in Project Justice, of course, persist).

flyinghead commented 2 years ago

Can you try the standalone Flycast to see if it makes a difference? I have no explanation as to why the 32-bit version would make Vulkan faster. This shouldn't be the case.

Also, can you post some logs when a crash occurs?

RaduNastase commented 2 years ago

Standalone works well with per-pixel in Vulkan. (It's all ok with standalone, apart from the old issue i had even on my previous phones (Galaxy Note, OnePlus7): i can never seem to get a proper video sync. While the framerate shows full speed, there's always micro stuttering, like it doesn't sync to the refresh properly (Retroarch core syncs just fine).

Please forgive my ignorance, but i never used logs on Retroarch. What to activate in order to have a log file after the crash?