4.7 KiB
4.7 KiB
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
- Empty Level: Baseline performance
- Full District: Complete district loaded
- Cinematic Camera: Camera movement performance
- Vehicle Driving: Vehicle physics performance
- 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
- Rendering: Highest priority (biggest impact)
- Lighting: High priority (Lumen can be expensive)
- Physics: Medium priority
- AI/NPCs: Medium priority
- 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]