Decoupled Edge Physics algorithms for collaborative XR simulations
<|reference_start|>Decoupled Edge Physics algorithms for collaborative XR simulations: This work proposes a novel approach to transform any modern game engine pipeline, for optimized performance and enhanced user experiences in Extended Reality (XR) environments. Decoupling the physics engine from the game engine pipeline and using a client-server N-1 architecture creates a scalable solution, efficiently serving multiple graphics clients on Head-Mounted Displays (HMDs) with a single physics engine on edge-cloud infrastructure. This approach ensures better synchronization in multiplayer scenarios without introducing overhead in single-player experiences, maintaining session continuity despite changes in user participation. Relocating the Physics Engine to an edge or cloud node reduces strain on local hardware, dedicating more resources to high-quality rendering and unlocking the full potential of untethered HMDs. We present four algorithms that decouple the physics engine, increasing frame rates and Quality of Experience (QoE) in VR simulations, supporting advanced interactions, numerous physics objects, and multi-user sessions with over 100 concurrent users. Incorporating a Geometric Algebra interpolator reduces inter-calls between dissected parts, maintaining QoE and easing network stress. Experimental validation, with more than 100 concurrent users, 10,000 physics objects, and softbody simulations, confirms the technical viability of the proposed architecture, showcasing transformative capabilities for more immersive and collaborative XR applications without compromising performance.<|reference_end|>
@article{kokiadis2024decoupled,
    title={Decoupled Edge Physics algorithms for collaborative XR simulations},
    author={George Kokiadis, Antonis Protopsaltis, Michalis Morfiadakis, Nick
  Lydatakis and George Papagiannakis},
    journal={arXiv preprint arXiv:2407.12486},
    year={2024},
    archivePrefix={arXiv},
    eprint={2407.12486},
    primaryClass={cs.HC cs.GR}
}