VR/AR Graphics Optimization: Audit and Fixes for Stable 72 fps

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.

From immersive apps to game worlds and 3D scenes

Our dedicated team for VR/AR/MR development, Unity production and 3D modeling & animation — with its own case studies and capability decks.

Visit the dedicated studio
Showing 1 of 1All 242 services
VR/AR Graphics Optimization: Audit and Fixes for Stable 72 fps
Complex
from 3 days to 2 weeks
Frequently Asked Questions

Our competencies

What are the stages of Game Development?

Latest works

  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    1386
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    926
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    544
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    591

In VR, each frame must be rendered twice—for the left and right eye. On Quest 2, that's 72 fps × 2 = 144 draw call batches per second. If your project hasn't adopted Single Pass Instanced Rendering and exceeds 100 batches per frame, a stereoscopic scene simply won't fit into the GPU's time slot. Dropped frames cause headaches and nausea. We know how to fix this from experience: we've optimized dozens of XR projects across platforms. Our specialty is graphics optimization for VR/AR devices.

AR projects on ARCore/ARKit add camera capture, plane processing, and occlusion mesh on top of that. The device is already loaded with CPU tracking tasks before your shader makes its first call. We help you stay within the FPS budget even on budget devices. Order an audit—we'll evaluate your project in 2 days and provide an optimization plan with specific metrics.

How VR/AR graphics optimization solves the dropped frames problem

Key techniques include Single Pass Instanced Rendering, Fixed Foveated Rendering, GPU Instancing, and shader optimization. Single Pass Instanced renders both eyes in one pass, cutting draw calls in half. Fixed Foveated Rendering reduces GPU load by 15–30% without noticeable visual degradation. GPU Instancing groups identical objects into a single draw call. Together, these methods ensure stable 72 fps even on mobile XR devices.

Why standard graphics optimization methods don't work in VR/AR

Reducing polygon count is the last thing we do. First, we look at what really kills performance on XR devices.

Overdraw in mobile VR

On Adreno and Mali GPUs, overdraw is disproportionately expensive—tiled rendering dislikes many semi-transparent objects. Standard particle systems with additive blending against an HDR skybox are typical frame rate killers on Quest. Frame Debugger in Unity shows this instantly: look for red zones in overdraw view.

Incorrect Fixed Foveated Rendering configuration

Fixed Foveated Rendering in Meta XR SDK reduces GPU load by 15-30%—but only if the level (Low/Medium/High) is chosen correctly for the content. In dynamic scenes with fast camera movement, High level causes peripheral artifacts. We recommend Medium for most projects: it yields up to 20% performance gain without noticeable artifacts.

Single Pass Instanced doesn't work with custom shaders

If the project has even one shader without UNITY_VERTEX_INPUT_INSTANCE_ID and UNITY_SETUP_INSTANCE_ID, the entire render falls back to Multi Pass. This doubles the load. We find these through XR Plug-in Management → Rendering Stats. We guarantee that after audit, all shaders will correctly support Single Pass Instanced.

How we work with XR projects

We start with profiling on target hardware—not in the Editor, but on the device. RenderDoc for Android, Xcode Instruments for iOS/visionOS, OVR Metrics Tool (part of Meta XR Best Practices Guide). Emulators don't show real memory latency or bandwidth.

From our practice: a client case

A Quest 3 project—architectural visualization, 8 rooms, PBR materials. First build: 45 fps in the center of the scene, 28 fps when looking toward the window. OVR Metrics Tool analysis showed 340 draw calls and 4 overdraw layers on window glass. Solution: GPU Instancing for repeated furniture (24 chairs → 1 draw call), replaced glass from Standard Transparent to a custom shader with Surface Type Opaque + alpha clip, enabled Fixed Foveated Rendering at Medium level. Result: stable 72 fps, thermal throttling gone. Our clients save up to 30% profiling time thanks to automated tools.

For AR projects, we separately work on occlusion—AR Foundation Environment Depth requires correct depth configuration in shaders, otherwise virtual objects "shine through" real surfaces.

Tools we use

  • Unity Profiler + Frame Debugger (GPU Usage module)
  • RenderDoc (Android Vulkan/OpenGL ES)
  • Meta Quest Developer Hub + OVR Metrics Tool
  • XR Interaction Toolkit Profiling Guidelines
  • ARM Mobile Studio (Streamline) for Adreno/Mali deep-dive

We manually optimize Shader Graph—check instruction count in the Preview window, remove unnecessary sample operations, move calculations from Fragment to Vertex where interpolation is acceptable.

Stages of XR graphics optimization work

First, build in Release configuration and capture baseline metrics: fps, GPU time per frame, draw calls, memory footprint. Without baseline, it's impossible to assess results.

Then, scene audit: object hierarchy, number of unique materials, lighting settings (static/dynamic), presence of real-time shadows (on mobile VR they are almost always forbidden), LOD groups.

After the audit, we prepare an optimization plan with priorities by impact/effort. Implementation proceeds iteratively with intermediate measurements—it's important to not lose baseline and understand what exactly provided the gain.

Final stage: thermal testing on the device for 20-30 minutes under heat. Thermal throttling on mobile chips (Snapdragon XR2) starts earlier than expected.

Task Scale Estimated Timeline
Audit + report without fixes 2–4 days
Optimization of one scene (up to 500 objects) 1–2 weeks
Full project (5–15 scenes, custom shaders) 3–6 weeks
Porting PC VR → standalone Quest 4–8 weeks

Cost is calculated individually after project audit and target platform.

Comparison of optimization methods

Method Impact (FPS Gain) Effort
Fixed Foveated Rendering 15–30% Low—enable in SDK
Single Pass Instanced 40–50% Moderate—shader fixes
GPU Instancing 20–60% Low—object grouping
Texture optimization (mipmaps, compression) 10–20% Low—import settings

What's included in the work

  • Performance audit on the target device with baseline metrics
  • Shader optimization and rendering configuration (Single Pass Instanced, Foveated Rendering)
  • Draw call reduction via batching, Instancing, LOD
  • Lighting and shadow setup (baked lighting, blob shadows)
  • Thermal testing and final report
  • Documentation of techniques used and recommendations for further development

Common mistakes when preparing XR graphics

  • Real-time shadows on mobile VR. Cascaded Shadow Maps with 4 cascades on Quest guarantees dropped frames. Replace with baked lightmaps or Blob Shadows (simple projector).
  • MSAA above 4x not disabled. On tile-based GPUs (Adreno), MSAA 8x kills performance. In XR Project Settings, set to 4x max, 2x in complex scenes.
  • Textures without mipmaps. In VR, objects can be at different distances simultaneously. Without mipmaps, GPU uses full resolution for distant objects—bandwidth grows unnecessarily.
  • Physics colliders more complex than needed. Mesh Collider on interior objects where Box/Capsule suffices. In VR, physics tick also affects frame time.

Order an audit of your XR project—we'll evaluate it in 2 days and provide an optimization plan with specific metrics. Single Pass Instanced is twice as efficient as Multi Pass on the same scene, and optimization can reduce cloud instance costs up to 2x. Get a consultation to find out how our solutions fit your project.