Skip to content

WebXR Performance

App performance is critical for developers, particularly in VR and AR, where poor performance can significantly impact user comfort.

Our SDK is designed to be resource-efficient while delivering robust analytics. We are continually optimizing to ensure it remains both lightweight and effective. For specific requirements, please contact us, and our customer success team will assist you.

Overall, the performance impact of our SDK is minimal compared to the demands of rendering and VR interaction systems. Recent performance test results are provided below.

Best Practices

  • Web requests can have a notable performance impact. If necessary, configure your application to send fewer, larger requests rather than many small ones.
  • Initializing a session should be done when the user is least likely to notice it—immediately when the application begins or during an initial scene load.

Performance Testing Overview

To provide comprehensive performance insights, we've tested our SDK using:

  • Three.js PWA Sample App - A WebXR application featuring dynamic object tracking, gaze, and controller interactions. This test demonstrates SDK performance in a web-based VR environment with continuous object movement.

Test Device

All tests were conducted on the Meta Quest 2

  • CPU: Qualcomm Snapdragon XR2
  • RAM: 6 GB
  • GPU: Adreno 650

Methodology

All performance values were recorded during 60 seconds of runtime. For each test, we executed the app twice—once without the SDK to establish baseline performance, and once with our SDK included to determine the SDK's overhead.


Sample App Performance Test

Test Conditions

Test Setup

This test was conducted using a custom Three.js app/ environment. The SDK implementation included:

  • Gaze tracking with raycasting.
  • The app's target frame rate was set to 120Hz.
  • Controller interactions.
  • 25 dynamic objects (cubes) set to move continuously in a sine wave pattern.
  • 1 custom event ("Interaction") being sent when an object is grabbed.

Note: Tracking 25 continuously moving dynamic objects + raycasting while logging custom interaction events represents a demanding scenario; real-world integrations may see lower overhead.

Test Results

Metric App without Cognitive3D App with Cognitive3D Relative % difference
Average framerate 118.91 fps 115.21 fps -3.11%
JS Execution Time 0.63 ms 0.76 ms +20.63% (+0.13 ms)
RAM Used 9.54 MB 9.54 MB 0.00%