01-06-2024 10:19 PM
Hey I'm having performance issues with a WebXR app that I'm working on specifically when connected to Oculus Link and viewing the app with WebXR through PCVR.
I expected my RTX 4090 would make it faster but I'm getting worse performance.
I've tried profiling on mac pro, quest 3 standalone, and link cable (quest 3). Link cable is by far the slowest and I'm not sure why. My beefy GPU should make the scene render faster shouldn't it?
For this particular webgl scene, the per frame gpu time is less than a ms on my mac pro when using the emulator and using the webxr emulator on my windows pc yields about the same. Once I plug in, the gpu time shoots up to 10-15ms. I've run the oculus profiler and it reported a min-max of (0,20ms) and an average of 9ms. This is a super small scene with only 60k vertices so I'm not sure what's going on.
I ran profilers and verified that my CPU and GPU both have enough headroom. They're both <50% utilized. I don't see any abnormal Garbage Collecting in the chrome profiler.
I've tried a bunch of other stuff I read on forums like disabling Hardware Accelerated Graphics Scheduling, uninstalling MSI afterburner, updating drivers, and a bunch more.
I can't for the life of me figure out why my macbook and the quest 3 standalone would be outperforming the 4090.
Any tips or advice would be appreciated!
Happy to provide performance or log traces too.
01-07-2024 10:05 AM
edit: I am seeing the extra GPU time on the webxr emulator for the scene which leads me to believe that it's something to do with WebXR and the 4090. Possibly around data transfer?
The scene in question is taking 90 microseconds on my mac for gpu time and varies from 5-15 milliseconds on the webxr emulator on my windows pc with RTX 4090.
I ran some separate webgl benchmarking and my RTX outperforms the mac leading me to believe it's something to do specifically with WebXR.