godot icon indicating copy to clipboard operation
godot copied to clipboard

Performance regression on standalone XR headsets (pico, quest) in 4.3dev2

Open DanielKinsman opened this issue 6 months ago • 1 comments

Tested versions

Present in:

  • 4.3rc1
  • 4.3.dev2
  • 9b522ac1a8

Not present in:

  • 4.3dev1
  • 407855b8f8

System information

Godot v4.2.2.stable unknown - Arch Linux #1 SMP PREEMPT_DYNAMIC Wed, 24 Jul 2024 22:25:43 +0000 - Wayland - GLES3 (Compatibility) - AMD Radeon RX 6800 XT (radeonsi, navi21, LLVM 18.1.8, DRM 3.57, 6.10.1-arch1-1) () - AMD Ryzen 7 5800X3D 8-Core Processor (16 Threads)

Issue description

In 4.3dev1 my pico 4 is able to render ~360 sample 3D objects (blender monkey heads) before the framerate drops more than 10fps below the 90Hz refresh rate. In 4.3dev2 that drops to ~300 objects. I tried to bisect it but unfortunately many or even most of the commits in the middle fail to load on the device at all. The best I could narrow it down to was 407855b8f8 good, 9b522ac1a8 bad.

Steps to reproduce

Use the sample project, run it on the headset. It will start spawning objects until the frame rate drops 10 below the refresh rate at which point it will stop.

Keep your head pointed at same place between runs to make things consistent, I like to look at the monkey on the second from bottom row, that way most of the other monkeys are still rendered in the camera.

Minimal reproduction project (MRP)

https://gitlab.com/DanielKinsman/godot-standalone-xr-perf-test

DanielKinsman avatar Jul 28 '24 01:07 DanielKinsman