Initial commit: Complete project foundation with all documentation, scripts, and project structure
This commit is contained in:
212
PERFORMANCE_TARGETS.md
Normal file
212
PERFORMANCE_TARGETS.md
Normal file
@@ -0,0 +1,212 @@
|
||||
# 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]
|
||||
|
||||
Reference in New Issue
Block a user