论文标题

分析虚拟现实应用程序的性能问题

Analyzing Performance Issues of Virtual Reality Applications

论文作者

Hogan, Jason, Salo, Aaron, Rzig, Dhia Elhaq, Hassan, Foyzul, Maxim, Bruce

论文摘要

扩展现实(XR)包括虚拟现实(VR),增强现实(AR)和混合现实(MR)。 XR是一种新兴技术,可模拟用户的现实环境。 XR技术在各种应用程序方案(例如培训,教育,产品/建筑设计,游戏,远程会议/旅行等)中提供了革命性的用户体验。由于在限量资源设备中渲染实时动画的计算成本很高,并且与用户活动不断互动,因此XR应用程序通常会面临性能瓶颈,并且这些瓶颈对XR软件的用户体验产生了负面影响。因此,性能优化在许多行业标准的XR应用中起着至关重要的作用。即使在传统软件中识别性能瓶颈(例如桌面应用程序)是一个广泛探索的主题,但由于XR应用程序的不同性质,这些方法无法直接应用于XR软件中。此外,在不同框架(例如Unity和Unreal Engine)中开发的XR应用程序显示出不同的性能瓶颈模式,因此,基于虚幻的引擎(UE)基于XR项目,Unity Projects的瓶颈模式无法应用。为了填补基于虚幻引擎XR项目的XR性能优化的知识差距,我们介绍了第一个关于七个UE XR项目的性能优化的实证研究,78 UE XR讨论问题和UE文档的三个来源。我们的分析确定了14种类型的性能错误,包括与UE设置问题有关的12种类型的错误和两种类型的CPP源代码相关问题。为了进一步协助开发人员基于确定的错误模式检测性能错误,我们还开发了静态分析仪Ueperfanalyzer,该仪可以检测配置文件和源代码中的性能错误。

Extended Reality (XR) includes Virtual Reality (VR), Augmented Reality (AR) and Mixed Reality (MR). XR is an emerging technology that simulates a realistic environment for users. XR techniques have provided revolutionary user experiences in various application scenarios (e.g., training, education, product/architecture design, gaming, remote conference/tour, etc.). Due to the high computational cost of rendering real-time animation in limited-resource devices and constant interaction with user activity, XR applications often face performance bottlenecks, and these bottlenecks create a negative impact on the user experience of XR software. Thus, performance optimization plays an essential role in many industry-standard XR applications. Even though identifying performance bottlenecks in traditional software (e.g., desktop applications) is a widely explored topic, those approaches cannot be directly applied within XR software due to the different nature of XR applications. Moreover, XR applications developed in different frameworks such as Unity and Unreal Engine show different performance bottleneck patterns and thus, bottleneck patterns of Unity projects can't be applied for Unreal Engine (UE)-based XR projects. To fill the knowledge gap for XR performance optimizations of Unreal Engine-based XR projects, we present the first empirical study on performance optimizations from seven UE XR projects, 78 UE XR discussion issues and three sources of UE documentation. Our analysis identified 14 types of performance bugs, including 12 types of bugs related to UE settings issues and two types of CPP source code-related issues. To further assist developers in detecting performance bugs based on the identified bug patterns, we also developed a static analyzer, UEPerfAnalyzer, that can detect performance bugs in both configuration files and source code.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源