# Performance Targets - Dubai Metaverse ## Overview This document defines performance targets and optimization goals for the Dubai Metaverse project. ## Frame Rate Targets ### Desktop (1440p) - **Target**: 60-90 FPS - **Minimum**: 60 FPS - **Ideal**: 90 FPS - **Hardware**: RTX 3070 / RX 6800 XT or better ### Desktop (4K) - **Target**: 60 FPS - **Minimum**: 60 FPS - **Ideal**: 60+ FPS - **Hardware**: RTX 4080 / RX 7900 XTX or better ### Cinematic Rendering - **Target**: Offline rendering (no FPS target) - **Output**: 8K EXR (7680x4320) - **Method**: Movie Render Queue - **Time**: Quality over speed ### VR (If Implemented) - **Target**: 90 FPS - **Minimum**: 90 FPS (required for VR) - **Hardware**: RTX 4080 or better --- ## Memory Targets ### GPU Memory (VRAM) - **Target**: <12GB usage - **Maximum**: 16GB (for high-end GPUs) - **Optimization**: Texture streaming, virtual textures ### System RAM - **Target**: <16GB usage - **Maximum**: 32GB (for development) - **Optimization**: World Partition streaming ### Storage - **Target**: <50GB packaged build - **Optimization**: Asset compression, unused asset removal --- ## Performance Metrics ### Frame Time - **Target**: <16.67ms (60 FPS) - **Ideal**: <11.11ms (90 FPS) - **Measurement**: Unreal Insights ### Draw Calls - **Target**: <5000 draw calls per frame - **Optimization**: Instancing, batching ### Triangle Count - **Target**: <5M triangles per frame (with Nanite) - **Optimization**: Nanite, LOD system --- ## Optimization Strategies ### Nanite - **Usage**: All static meshes where possible - **Benefit**: High-poly geometry without performance penalty - **Target**: 100% of static meshes use Nanite ### LOD System - **Usage**: Non-Nanite assets, background buildings - **LODs**: LOD0-3 for primary, LOD0-2 for background - **Target**: All non-Nanite assets have LODs ### World Partition - **Usage**: Entire Dubai district - **Cell Size**: 128m x 128m (default) - **Streaming**: Optimized per cell - **Target**: Smooth streaming, no hitches ### Material Optimization - **Shared Materials**: Use material instances - **Texture Streaming**: Enable texture streaming - **Virtual Textures**: Use for large textures (optional) - **Target**: Minimize material complexity ### Lighting Optimization - **Lumen Quality**: Adjust based on performance - **Shadow Quality**: Virtual Shadow Maps - **Light Count**: Minimize dynamic lights - **Target**: Maintain visual quality while optimizing --- ## Performance Testing ### Tools - **Unreal Insights**: Profiling and analysis - **GPU Profiler**: GPU performance analysis - **Stat Commands**: Real-time performance stats ### Test Scenarios 1. **Empty Level**: Baseline performance 2. **Full District**: Complete district loaded 3. **Cinematic Camera**: Camera movement performance 4. **Vehicle Driving**: Vehicle physics performance 5. **NPC Crowd**: Multiple NPCs performance ### Test Hardware - **Minimum Spec**: RTX 3060 / RX 6600 XT - **Recommended Spec**: RTX 3070 / RX 6800 XT - **High-End Spec**: RTX 4080 / RX 7900 XTX --- ## Performance Checklist ### Optimization Checklist - [ ] All static meshes use Nanite (where applicable) - [ ] LODs generated for non-Nanite assets - [ ] World Partition streaming optimized - [ ] Material complexity minimized - [ ] Texture streaming enabled - [ ] Draw calls optimized (<5000) - [ ] Frame time meets targets (<16.67ms for 60 FPS) - [ ] Memory usage within targets - [ ] No performance hitches or stuttering - [ ] Performance tested on target hardware --- ## Performance Targets by Phase ### Phase 2 (Environment Production) - **Target**: 30+ FPS in editor - **Focus**: Asset optimization, LOD generation ### Phase 3 (World Systems) - **Target**: 45+ FPS in editor - **Focus**: Lighting optimization, system integration ### Phase 4 (Gameplay + Interaction) - **Target**: 60+ FPS in editor - **Focus**: Final optimization pass ### Phase 5 (Final Polish) - **Target**: 60-90 FPS in packaged build - **Focus**: Final performance validation --- ## Performance Budget ### Per System - **Rendering**: 60% of frame time - **Lighting (Lumen)**: 20% of frame time - **Physics**: 5% of frame time - **AI/NPCs**: 5% of frame time - **Other**: 10% of frame time ### Optimization Priority 1. **Rendering**: Highest priority (biggest impact) 2. **Lighting**: High priority (Lumen can be expensive) 3. **Physics**: Medium priority 4. **AI/NPCs**: Medium priority 5. **Other**: Low priority --- ## Notes - Performance targets are guidelines, not strict requirements - Visual quality should not be sacrificed unnecessarily - Test on target hardware regularly - Optimize incrementally throughout development --- **Version**: 1.0 **Last Updated**: [Current Date]