# Three.js & WebGL Performance Optimization
> The definitive Three.js, WebGL, and WebGPU performance knowledge base.
> 48 validated topic folders. Every claim sourced against live repos and browser specs (2026).
> Primary audience: developers building award-level 3D websites.
## Quick machine-readable access
- [Full JSON index](https://zakky8.github.io/web-optimization/data.json): All 48 folders with names, descriptions, tags, and raw URLs
- [Live site](https://zakky8.github.io/web-optimization/): Interactive browser with search and filter
- [GitHub repo](https://github.com/zakky8/web-optimization): Source
## Validated corrections (commonly wrong in training data)
- GSAP DrawSVG / MorphSVG / SplitText are FREE since 2025 — no Club membership required
- SMIL is NOT deprecated — Chrome reversed its 2015 deprecation intent; fully supported 2026
- PCFSoftShadowMap is DEPRECATED in Three.js r168 — silently redirects to PCFShadowMap
- Safari has NO WebXR support on macOS, iOS, or iPadOS (confirmed 2026)
- React Three Fiber v8 is INCOMPATIBLE with React 19 — use R3F v9.6.1
- Astro renamed to in v5, removed in v6
## Current library versions (2026-05-26)
- three.js: r184 (0.184.0)
- react-three-fiber: v9.6.1
- drei: v10.7.7
- lenis: v1.3.23
- GSAP: 3.x (fully free)
- camera-controls: v3.1.2
- Astro: 6.3.8
- detect-gpu: v5.x
## Folder index
### Foundations
- [01-3d-animation](https://raw.githubusercontent.com/zakky8/web-optimization/main/01-3d-animation/): Rendering pipeline, draw calls, textures, shaders, scroll, canvas setup
- [02-mobile](https://raw.githubusercontent.com/zakky8/web-optimization/main/02-mobile/): iOS/Android GPU limits, thermal throttling, context loss, touch, network
- [03-performance-metrics](https://raw.githubusercontent.com/zakky8/web-optimization/main/03-performance-metrics/): Core Web Vitals for 3D, real benchmark numbers, FPS targets
- [04-resources](https://raw.githubusercontent.com/zakky8/web-optimization/main/04-resources/): Case studies, reading list, Awwwards analysis
- [05-checklists](https://raw.githubusercontent.com/zakky8/web-optimization/main/05-checklists/): Ship-ready checklists for desktop and mobile 3D
### GPU & Shaders
- [06-webgpu](https://raw.githubusercontent.com/zakky8/web-optimization/main/06-webgpu/): WebGPURenderer, TSL node system, WGSL, render bundles, GPU-driven rendering
- [07-shaders](https://raw.githubusercontent.com/zakky8/web-optimization/main/07-shaders/): GLSL noise (simplex/FBM/Worley), domain warping, lygia library, PBR injection
- [48-gpgpu-particles](https://raw.githubusercontent.com/zakky8/web-optimization/main/48-gpgpu-particles/): GPUComputationRenderer, ping-pong buffers, compute shaders (262K+ particles)
### Build & Pipeline
- [08-physics-interaction](https://raw.githubusercontent.com/zakky8/web-optimization/main/08-physics-interaction/): Rapier.js, cannon-es, raycasting, physics-aware drag
- [09-build-pipeline](https://raw.githubusercontent.com/zakky8/web-optimization/main/09-build-pipeline/): gltfjsx CLI, Vite 3D config, KTX2/Draco/Meshopt compression, CI/CD
### Frameworks & Rendering
- [10-frameworks](https://raw.githubusercontent.com/zakky8/web-optimization/main/10-frameworks/): R3F fundamentals, drei helpers, Zustand, TresJS (Vue), Threlte (Svelte)
- [11-page-transitions](https://raw.githubusercontent.com/zakky8/web-optimization/main/11-page-transitions/): Barba.js persistent canvas, View Transitions API, SceneManager dispose
- [12-accessibility-seo](https://raw.githubusercontent.com/zakky8/web-optimization/main/12-accessibility-seo/): ARIA for canvas, WCAG animation, Core Web Vitals for 3D
- [13-advanced-techniques](https://raw.githubusercontent.com/zakky8/web-optimization/main/13-advanced-techniques/): GPGPU ping-pong, MRT G-Buffer, SSAO, post-processing chains
- [14-caching-cdn](https://raw.githubusercontent.com/zakky8/web-optimization/main/14-caching-cdn/): Cache strategies, service workers, Cloudflare, content-hashed assets
- [15-animation-formats](https://raw.githubusercontent.com/zakky8/web-optimization/main/15-animation-formats/): Lottie, Rive state machines, Canvas 2D, SVG SMIL/CSS/MorphSVG
### Concurrency, Memory & CSS
- [16-workers-parallel](https://raw.githubusercontent.com/zakky8/web-optimization/main/16-workers-parallel/): OffscreenCanvas Three.js, SharedArrayBuffer + Atomics, worker pool, Comlink
- [17-memory-management](https://raw.githubusercontent.com/zakky8/web-optimization/main/17-memory-management/): dispose() pattern, renderer.info, common leaks (r180-r183 fixes)
- [18-css-performance](https://raw.githubusercontent.com/zakky8/web-optimization/main/18-css-performance/): RenderingNG compositor thread, CSS Houdini, scroll-driven animations
- [19-wasm-physics](https://raw.githubusercontent.com/zakky8/web-optimization/main/19-wasm-physics/): Rapier + Vite WASM config, cannon-es, fixed timestep, physics worker
### Three.js Deep Dive & Animation
- [20-threejs-internals](https://raw.githubusercontent.com/zakky8/web-optimization/main/20-threejs-internals/): Render pipeline internals, WebGLPrograms cache, BatchedMesh, MRT deferred
- [21-open-source-repos](https://raw.githubusercontent.com/zakky8/web-optimization/main/21-open-source-repos/): Award-winning portfolios (Bruno Simon, HamishMW), pmndrs ecosystem
- [22-animation-engines](https://raw.githubusercontent.com/zakky8/web-optimization/main/22-animation-engines/): GSAP advanced (ScrollTrigger, SplitText, MotionPath), Lenis, Framer Motion
- [23-validation-notes](https://raw.githubusercontent.com/zakky8/web-optimization/main/23-validation-notes/): Corrected technical claims, repo status 2026, browser support tables
### TypeScript & Advanced Frameworks
- [24-typescript-threejs](https://raw.githubusercontent.com/zakky8/web-optimization/main/24-typescript-threejs/): Strict TypeScript + Three.js r184, typed loaders, shader type safety
- [25-nextjs-r3f](https://raw.githubusercontent.com/zakky8/web-optimization/main/25-nextjs-r3f/): Next.js 15 + R3F v9, App Router SSR, React 19 compatibility
- [43-react-patterns](https://raw.githubusercontent.com/zakky8/web-optimization/main/43-react-patterns/): React 19 concurrent patterns, Suspense, useTransition for 3D
- [44-astro-threejs](https://raw.githubusercontent.com/zakky8/web-optimization/main/44-astro-threejs/): Astro 6 + Three.js, island architecture, ClientRouter
- [45-r3f-performance](https://raw.githubusercontent.com/zakky8/web-optimization/main/45-r3f-performance/): R3F useFrame optimization, instancing via drei, reconciler internals
### Visual Effects & Post-processing
- [26-postprocessing](https://raw.githubusercontent.com/zakky8/web-optimization/main/26-postprocessing/): SSAO, Bloom, DOF, LUT, EffectComposer, postprocessing v7
- [29-shadows-advanced](https://raw.githubusercontent.com/zakky8/web-optimization/main/29-shadows-advanced/): PCF/PCSS/CSM, baked lightmaps, r168+ shadow deprecations
- [30-instancing-gpu](https://raw.githubusercontent.com/zakky8/web-optimization/main/30-instancing-gpu/): InstancedMesh, BatchedMesh r155+, GPU picking, frustum culling, LOD
- [42-advanced-materials](https://raw.githubusercontent.com/zakky8/web-optimization/main/42-advanced-materials/): PBR deep-dive, ShaderMaterial, MeshPhysicalMaterial, transmission
- [46-shader-tools](https://raw.githubusercontent.com/zakky8/web-optimization/main/46-shader-tools/): ShaderForge, glslify, lygia, vite-plugin-glsl, hot-reload workflow
### XR, Audio & Media
- [27-webxr](https://raw.githubusercontent.com/zakky8/web-optimization/main/27-webxr/): WebXR Device API, immersive-ar/vr, Safari NO support, polyfills
- [28-web-audio](https://raw.githubusercontent.com/zakky8/web-optimization/main/28-web-audio/): Web Audio API spatial sound, AudioWorklet, PositionalAudio, iOS unlock
- [34-video-streaming](https://raw.githubusercontent.com/zakky8/web-optimization/main/34-video-streaming/): Video textures, HLS.js, adaptive bitrate, VideoFrame API, WebCodecs
### 2D & Typography
- [31-svg-animation](https://raw.githubusercontent.com/zakky8/web-optimization/main/31-svg-animation/): GSAP MorphSVG (free), SMIL (not deprecated), SVG filters, DrawSVG
- [32-canvas2d-performance](https://raw.githubusercontent.com/zakky8/web-optimization/main/32-canvas2d-performance/): OffscreenCanvas, Canvas 2D compositing, ImageBitmap
- [33-typography-kinetic](https://raw.githubusercontent.com/zakky8/web-optimization/main/33-typography-kinetic/): Variable fonts, SplitText v3 (free), kinetic typography
### Pipeline & Tooling
- [35-blender-pipeline](https://raw.githubusercontent.com/zakky8/web-optimization/main/35-blender-pipeline/): glTF export, KTX2 baking, Blender 4.x scripts, normal maps
- [36-scene-optimization](https://raw.githubusercontent.com/zakky8/web-optimization/main/36-scene-optimization/): BVH raycasting, draw call batching, occlusion culling
- [37-webgl-debugging](https://raw.githubusercontent.com/zakky8/web-optimization/main/37-webgl-debugging/): Spector.js, Chrome WebGL Inspector, gl.getError, shader errors
- [38-webgl-extensions](https://raw.githubusercontent.com/zakky8/web-optimization/main/38-webgl-extensions/): EXT_color_buffer_float, OES_texture_float, extension detection
- [39-asset-loading](https://raw.githubusercontent.com/zakky8/web-optimization/main/39-asset-loading/): GLTFLoader, KTX2Loader, DRACOLoader, progressive loading
- [40-error-recovery](https://raw.githubusercontent.com/zakky8/web-optimization/main/40-error-recovery/): WebGL context loss/restore, graceful degradation
### Camera & Interaction
- [41-camera-systems](https://raw.githubusercontent.com/zakky8/web-optimization/main/41-camera-systems/): camera-controls v3.1.2, orbit controls, cinematic transitions
### Validation & Corrections
- [47-validation-round2](https://raw.githubusercontent.com/zakky8/web-optimization/main/47-validation-round2/): GSAP licensing, SMIL, PCFSoftShadowMap, CSM repos