# Three.js Performans - FikoYT

## 🚀 Optimizasyonlar

### Rendering Pipeline
```typescript
sun(): void {
  // Frustum culling (frame 2'de bir)
  if (frameCount % 2 === 0) {
    frustumCuller.updateFrustum(kamera);
  }

  // LOD updates (frame 3'te bir)
  if (frameCount % 3 === 0) {
    lodManager.updateLODs(kamera);
  }
}
```

## 📊 Performans Sınıfları

**PerformanceMonitor:**
- FPS tracking
- Frame time analysis
- Memory usage

**FrustumCuller:**
- View frustum test
- Visibility culling
- Object pool

**LODManager:**
- Level of Detail
- Distance-based switching
- Mesh optimization

## ⚡ On-Demand Render

- **Continuous:** Animasyonlar için
- **On-demand:** Statik sahneler
- **Mark needs render:** Manuel trigger

## 🎯 Optimizasyon Stratejileri

1. **Object Pooling:** Mesh reuse
2. **Geometry Merging:** Batch rendering
3. **Texture Atlas:** Texture batching
4. **InstancedMesh:** Multiple instances
5. **Dispose Pattern:** Memory cleanup

---
2025-11-06