alvr-org / alvr-visionos

Experimental visionOS client for ALVR - SteamVR on Apple Vision Pro!
MIT License
432 stars 31 forks source link

Why queue two frame at most instread of read the latest frame? #128

Open junlinp opened 2 weeks ago

junlinp commented 2 weeks ago

https://github.com/alvr-org/alvr-visionos/blob/6005e8c20c8d82c39f05463c8a5b6f9abc1ac93d/ALVRClient/Renderer.swift#L598

should it read the latest one frame in the queue? two frame cache would cause 22 ms around latency when the render rate is 90Hz.

shinyquagsire23 commented 2 weeks ago

stability reasons mostly, the buffer allows small circumstantial frame drops to be less noticable and large frame drops to be used as an opportunity to fill the buffer