URP Terrible Performance on Quest/Android

I’m using URP with 2019.3.0f5 and in Editor using Oculus Link i have butter smooth 500+ fps but when i build for quest i’m sitting around 25-40 fps on a pretty much empty scene. I’m am using the XR Management Package instead of the Oculus Integration but that shouldn’t matter.

The main issue is that gfx.waitforpresent takes around 40ms meaning that it is GPU limited. that doesn’t make a lot of sense since the scene only contains a few test cubes to visualize tracking.

I had pretty mucht the same issue using LWRP for normal Android and when i reported it as a bug they responded with this issue link. however i already replaced all references of the skybox with a solid color when i reported that issue and same thing here again. no difference when removing/replacing the skybox.

Also used the GPU Profiler and it was basically empty in there. ~30 steps including shadows and postprocess

Here is a reddit thread i made back then that is still relevant it seems.

If anyone got any idea what is going on please let me know. Also if you have a basic URP template that performs well on Quest/Android please share it with me so i can test it out.

(since this project is for work this time i dont have access to the project till monday to post detailed profiler details)

Thanks.

Do you have Vsync enabled? Make sure it is disabled in your Android build settings

it is. i made some progress as seen here but im still open to more ideas/changes that improves performance

My project using URP, Addressables, new Input system and new XR Plugin, all works fine. Also PostProcessing works, but i disable it for optimization. And i’m totally reach 72 fps in my game.

Unity 2019.4.3f1

XR Settings

Packages:
URP 7.4.1
XR Plugin Management 3.2.13
Addressables 1.11.2

Oculus package settings:
Stereo Rendering mode: Multiview
Low Overhead Mode: Enabled

Build:
IL2CPP,
x64
OpenGLES3,
Linear Color Space,
Multithreaded Rendering enabled,
Graphics Jobs enabled

Quality:
Texture Quality - Half Res

URP asset settings:
HDR - disabled
Anti Aliasing (MSAA) 4x
Render Scale: 0.9

Main Light - Per Pixel
Shadows - disabled
Additional Lights - Disabled

SRP Batcher - enabled
Dynamic Batching - enabled
Mixed Lighting - disabled

1 Like

@HQF The Quest is not powerful enough for post processing. What were you expecting?

1 Like

But i said that - i just disable post processing) i don’t want it in android build

1 Like

My setup is the same also, all working fine now, I reported loads of URP bugs for VR which have been fixed!

1 Like