Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.8.0
-
None
Description
Title:
Memory Leak and Rendering Performance Degradation in OutrunXR Application on Meta Quest 3
Summary:
During the development of the OutrunXR application, I observed a memory leak issue causing rendering performance to degrade progressively after multiple launches and interactions, eventually leading to a crash. The crash is accompanied by a warning popup stating that the Meta Quest 3 does not have enough memory to run the application. Rebooting the device resolves the issue temporarily.
This ticket has been created for the following reasons:
- I lack the know-how to debug memory leaks on Meta Quest 3.
- Since the app primarily uses QML, I suspect the memory leak may be occurring on the framework side.
Steps to Reproduce:
- Build and run the OutrunXR application on Meta Quest 3.
Code: https://git.qt.io/se_japan_public/automotive-related/outrun_xr/-/commit/097e24f67941507bda4c1371cc6675f334546024 - Use the right controller to interact with the Outrun IVI or Outrun HVAC app.
- Point the ray from the controller to interact with the UI components in the apps.
- Press the "A" button to change the environment around you. Switching to Passthrough mode seems to accelerate the performance degradation over time.
- Observe the following:
- Rendering performance degrades progressively after multiple uses (may require more than 10 app launches).
- Eventually, the app crashes with a memory-related warning popup.
Environment:
- Development Host: Windows 11
- Deployed Device: Meta Quest 3
- Qt Version: Qt 6.8.0
Expected Behavior:
- The application should maintain consistent rendering performance regardless of the number of launches or interactions.
- No memory-related crashes should occur during normal use.
Current Impact:
This issue significantly affects the usability of the OutrunXR application and undermines its performance and stability on Meta Quest 3. It raises concerns about potential memory leaks, which could be critical in production environments.
Proposed Actions:
- Investigate memory management in the application, focusing on potential leaks in QML components or the Qt framework.
- Use available debugging tools to track memory usage and identify the source of the leak.
- Optimize the application's memory usage to prevent degradation and crashes.
Resolving this issue will improve the stability and reliability of the OutrunXR application, ensuring a smooth and consistent experience for users. Your assistance in investigating and addressing this matter would be greatly appreciated.