oculus-samples / Unreal-SharedSceneSample

This sample app demonstrates a shared scene experience based on Shared Spatial Anchors, Scene, and Passthrough in Unreal.The Oculus SDK and other supporting material is subject to the Oculus proprietary license.
Other
9 stars 4 forks source link

PassthroughLayer in multiplayer casuses low fps. #2

Open psih369 opened 10 months ago

psih369 commented 10 months ago

Each player pawn has an OculusPassthroughLayer component. Every other player in the lobby has it too. So, any player has an x-amount of OculusPassthroughLayer in the scene. This results in a terrible performance issue when more than three player pawns are in the scene.

Tests methodology:

  1. create player pawn
  2. add OculusPassthroughLayer - StereoLayerShapeReconstructed
  3. launch a multiplayer session with 5+ players, join this session with your quest device
  4. the quest will try to render n-amount of PassthroughLayer, that will cause performance issues For easier testing - setup 3d scene with significant GPU usage (70-80%)

Result: GPU profiling will show, that vulkan is waiting for something and doing nothing. There will be significant passthrough video feed glitches and stutter. Unlick regular game performance issues, where only game is laggy, but video keeps stable fps.

Potential solution/fix: Spawn OculusPassthroughLayer only on local player pawn, so there is only one OculusPassthroughLayer in the entire world for each player.

psih369 commented 10 months ago

@bigfootjon sorry to bother, but please have a look

bigfootjon commented 10 months ago

Sorry mate I just manage code-syncing at Meta, I have no idea what your bug report means :(