@@ -96,6 +96,44 @@ The WebGPU benchmark (`index-webgpu.html`) focuses on modern GPU API approaches:
9696- ** Size Variation** : Blur intensity should vary with texture size
9797- ** Consistent APIs** : WebGL and WebGPU should show similar visual effects
9898
99+ ## 🎯 Key Findings Summary
100+
101+ ** The complete benchmark results are detailed below, but here are the main performance insights for 4096×4096 texture uploads:**
102+
103+ ### 🍎 macOS (Apple M4 Max): Chrome vs Safari
104+ ```
105+ Browser | WebGL Idle | WebGL Busy | WebGPU Idle | WebGPU Busy
106+ -----------|------------|------------|-------------|------------
107+ Chrome | ~6ms | ~15ms | ~9ms | ~9ms
108+ Safari | ~4ms | ~4ms | ~4ms | ~4ms
109+ ```
110+
111+ ** 🏆 Safari Advantages:**
112+ - ** WebGL Idle** : 33% faster than Chrome
113+ - ** WebGL Busy** : 73% faster than Chrome
114+ - ** WebGPU Idle** : 56% faster than Chrome
115+ - ** WebGPU Busy** : 56% faster than Chrome
116+
117+ * Safari consistently outperforms Chrome on Apple Silicon, showing significant advantages especially under GPU load scenarios.*
118+
119+ ### 🖥️ Windows 11 (Intel i7 + NVIDIA GeForce RTX 2070): Chrome vs Firefox
120+ ```
121+ Browser | WebGL Idle | WebGL Busy | WebGPU Idle | WebGPU Busy
122+ -----------|------------|------------|-------------|------------
123+ Chrome | ~23ms | ~35ms | ~41ms | ~38ms
124+ Firefox | ~24ms | ~24ms | ~26ms | ~25ms
125+ ```
126+
127+ ** 🦊 Firefox Advantages:**
128+ - ** WebGL Idle** : 4% slower than Chrome (comparable)
129+ - ** WebGL Busy** : 31% faster than Chrome
130+ - ** WebGPU Idle** : 37% faster than Chrome
131+ - ** WebGPU Busy** : 34% faster than Chrome
132+
133+ * Firefox shows superior performance under GPU load conditions.*
134+
135+ ---
136+
99137## 📊 Performance Results by Platform
100138
101139### Apple M4 Max (MacBook Pro, macOS, Chrome 138.0.0.0)
@@ -327,6 +365,83 @@ Map-Buf | 2.97ms | 3.24ms | 5.36ms | 12.96ms | 42.13ms
327365** GPU** : NVIDIA GeForce RTX 2070
328366** Driver** : ANGLE Direct3D11 vs_5.0 ps_5.0
329367
368+ ---
369+
370+ ### Windows 11 (Firefox 141.0, NVIDIA GeForce GTX 980)
371+
372+ #### WebGL Results:
373+
374+ ** WebGL1 (Mutable Textures):**
375+ ```
376+ Test Method | 256×256 | 512×512 | 1024×1024 | 2048×2048 | 4096×4096
377+ -------------|----------|----------|-----------|------------|----------
378+ Basic | 0.11ms | 0.54ms | 1.60ms | 6.68ms | 24.32ms
379+ GPU-Stress | 0.15ms | 0.42ms ⭐ | 1.38ms | 5.95ms | 24.38ms
380+ Realloc | 0.15ms | 0.43ms | 1.51ms | 5.79ms ⭐ | 23.48ms ⭐
381+ Buf-Orphan | 0.17ms | 0.47ms | 1.36ms | 6.13ms | 23.75ms
382+ Double-Buf | 0.17ms | 0.41ms | 1.34ms | 5.84ms | 24.34ms
383+ Triple-Buf | 0.15ms | 0.47ms | 1.41ms | 6.14ms | 24.03ms
384+ Quad-Buf | 0.17ms | 0.54ms | 1.42ms | 6.18ms | 23.84ms
385+ Penta-Buf | 0.14ms ⭐ | 0.47ms | 1.38ms | 6.19ms | 23.82ms
386+ PBO-Single | 0.21ms | 0.57ms | 1.53ms | 7.65ms | 30.18ms
387+ PBO-Double | 0.16ms | 0.60ms | 1.59ms | 7.67ms | 30.20ms
388+ Pack-Aln1 | 0.14ms ⭐ | 0.47ms | 1.31ms ⭐ | 6.38ms | 24.63ms
389+ Pack-Aln8 | 0.14ms ⭐ | 0.48ms | 1.43ms | 6.29ms | 25.17ms
390+ Sync-Flush | 0.19ms | 0.52ms | 1.57ms | 7.25ms | 29.84ms
391+ Sync-Fin | 14.76ms | 15.01ms | 18.64ms | 34.58ms | 90.16ms
392+ Sync-None | 0.14ms ⭐ | 0.47ms | 1.33ms | 6.17ms | 24.14ms
393+ Mem-Align | 0.28ms | 1.05ms | 3.67ms | 14.32ms | 51.78ms
394+ Mem-Share | 0.17ms | 0.44ms | 1.36ms | 6.28ms | 24.56ms
395+ ```
396+
397+ ** WebGL2 (Immutable Textures):**
398+ ```
399+ Test Method | 256×256 | 512×512 | 1024×1024 | 2048×2048 | 4096×4096
400+ -------------|----------|----------|-----------|------------|----------
401+ Basic | 0.12ms | 0.52ms | 1.46ms | 6.39ms | 24.25ms
402+ GPU-Stress | 0.14ms | 0.42ms | 1.36ms | 6.25ms | 23.85ms ⭐
403+ Realloc | 0.14ms | 0.43ms | 1.44ms | 5.73ms ⭐ | 23.94ms
404+ Buf-Orphan | 0.12ms ⭐ | 0.44ms | 1.33ms | 6.21ms | 24.14ms
405+ Double-Buf | 0.15ms | 0.56ms | 1.30ms ⭐ | 6.24ms | 24.27ms
406+ Triple-Buf | 0.17ms | 0.41ms ⭐ | 1.36ms | 6.06ms | 24.02ms
407+ Quad-Buf | 0.15ms | 0.40ms ⭐ | 1.35ms | 6.21ms | 24.09ms
408+ Penta-Buf | 0.14ms | 0.46ms | 1.46ms | 6.05ms | 23.84ms
409+ PBO-Single | 0.20ms | 0.56ms | 1.53ms | 7.55ms | 29.54ms
410+ PBO-Double | 0.19ms | 0.54ms | 1.55ms | 7.60ms | 29.77ms
411+ Pack-Aln1 | 0.13ms | 0.55ms | 1.43ms | 6.26ms | 24.70ms
412+ Pack-Aln8 | 0.15ms | 0.68ms | 1.70ms | 6.28ms | 24.64ms
413+ Sync-Flush | 0.22ms | 0.52ms | 1.59ms | 7.38ms | 30.77ms
414+ Sync-Fin | 15.24ms | 15.18ms | 25.39ms | 28.16ms | 87.80ms
415+ Sync-None | 0.16ms | 0.45ms | 1.34ms | 6.11ms | 23.73ms
416+ Mem-Align | 0.28ms | 0.97ms | 3.69ms | 14.79ms | 53.11ms
417+ Mem-Share | 0.14ms | 0.45ms | 1.31ms | 6.08ms | 24.32ms
418+ ```
419+
420+ ** WebGPU Results:**
421+ ```
422+ Test Method | 256×256 | 512×512 | 1024×1024 | 2048×2048 | 4096×4096
423+ -------------|----------|----------|-----------|------------|----------
424+ Basic | 0.20ms | 0.45ms | 1.78ms | 6.92ms | 26.28ms
425+ GPU-Stress | 0.20ms | 0.51ms | 1.72ms ⭐ | 6.38ms ⭐ | 24.98ms ⭐
426+ Realloc | 0.13ms ⭐ | 0.60ms | 1.90ms | 6.73ms | 25.52ms
427+ Double-Buf | 0.28ms | 0.56ms | 1.93ms | 7.63ms | 25.33ms
428+ Triple-Buf | 0.14ms | 0.53ms ⭐ | 1.85ms | 6.63ms | 24.77ms
429+ Quad-Buf | 0.17ms | 0.54ms | 1.73ms | 6.46ms | 24.89ms
430+ Penta-Buf | 0.19ms | 0.63ms | 2.10ms | 7.50ms | 25.21ms
431+ Buf-Copy | 98.89ms | 103.92ms | 98.81ms | 100.08ms | 105.92ms
432+ Que-Submit | 99.53ms | 98.91ms | 100.32ms | 102.72ms | 106.55ms
433+ Mem-Align | 0.34ms | 1.12ms | 3.79ms | 13.03ms | 48.06ms
434+ Storage | 0.24ms | 0.59ms | 1.76ms | 6.71ms | 25.59ms
435+ Tiled | 0.77ms | 1.73ms | 5.22ms | 20.98ms | 219.04ms
436+ GPU-Realloc | 0.24ms | 0.61ms | 1.91ms | 7.47ms | 26.37ms
437+ Fresh-Buf | 101.16ms | 100.93ms | 100.82ms | 101.06ms | 103.05ms
438+ Map-Buf | 106.01ms | 99.94ms | 100.58ms | 100.16ms | 105.50ms
439+ ```
440+
441+ ** Platform** : Windows 11, Firefox 141.0
442+ ** GPU** : NVIDIA GeForce GTX 980
443+ ** Driver** : ANGLE Direct3D11 vs_5.0 ps_5.0
444+
330445## 🤖 Development Credits
331446
332447This repository was built using ** Windsurf with Claude Sonnet 3.5** - an AI-powered development environment that enabled rapid prototyping, comprehensive testing, and detailed performance analysis across WebGL and WebGPU APIs.
0 commit comments