Skip to content

Commit ecc8a58

Browse files
author
Martin Valigursky
committed
update
1 parent 1c5fafb commit ecc8a58

File tree

3 files changed

+41
-23
lines changed

3 files changed

+41
-23
lines changed

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ Modern web graphics applications require efficient texture streaming and upload
1212
- **Provide cross-platform performance data** to guide graphics optimization decisions
1313
- **Test both mutable and immutable texture approaches** in WebGL for comprehensive analysis
1414

15+
![WebGL/WebGPU Texture Upload Test Screenshot](test-image.png)
16+
*Example of the benchmark suite running with checkerboard texture patterns and real-time performance metrics*
17+
18+
**🚀 [Try the Live Demo](https://mvaligursky.github.io/webgl-webgpu-texture-upload/)**
19+
1520
## 🧪 Test Categories
1621

1722
### WebGL Tests
@@ -141,6 +146,10 @@ Tiled | 0.29ms | 0.53ms | 1.56ms | 5.55ms | 76.87ms
141146

142147
> **⭐ Star Highlighting**: Stars indicate the best performing upload strategy (excluding Basic test) for each texture size. This focuses on upload performance when the GPU is under realistic load, as Basic tests use minimal shader complexity and don't represent real-world usage patterns.
143148
149+
## 🤖 Development Credits
150+
151+
This 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.
152+
144153
## 📝 License
145154

146155
MIT License - Feel free to use, modify, and distribute.

index.html

Lines changed: 32 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,40 +14,41 @@
1414
body {
1515
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
1616
line-height: 1.6;
17-
color: #333;
18-
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
17+
color: #e0e0e0;
18+
background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%);
1919
min-height: 100vh;
2020
display: flex;
2121
align-items: center;
2222
justify-content: center;
2323
}
2424

2525
.container {
26-
background: white;
26+
background: #1e1e1e;
2727
border-radius: 12px;
28-
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
28+
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.3);
2929
padding: 40px;
3030
max-width: 800px;
3131
width: 90%;
3232
text-align: center;
33+
border: 1px solid #333;
3334
}
3435

3536
h1 {
36-
color: #2c3e50;
37+
color: #ffffff;
3738
margin-bottom: 20px;
3839
font-size: 2.5rem;
3940
font-weight: 300;
4041
}
4142

4243
.subtitle {
43-
color: #7f8c8d;
44+
color: #b0b0b0;
4445
font-size: 1.2rem;
4546
margin-bottom: 40px;
4647
font-weight: 300;
4748
}
4849

4950
.description {
50-
color: #555;
51+
color: #c0c0c0;
5152
margin-bottom: 40px;
5253
font-size: 1rem;
5354
line-height: 1.8;
@@ -62,12 +63,12 @@
6263
}
6364

6465
.test-card {
65-
background: #f8f9fa;
66-
border: 2px solid #e9ecef;
66+
background: #2a2a2a;
67+
border: 2px solid #444;
6768
border-radius: 8px;
6869
padding: 30px 20px;
6970
text-decoration: none;
70-
color: #333;
71+
color: #e0e0e0;
7172
transition: all 0.3s ease;
7273
flex: 1;
7374
min-width: 280px;
@@ -76,25 +77,26 @@
7677

7778
.test-card:hover {
7879
transform: translateY(-5px);
79-
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
80-
border-color: #667eea;
80+
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
81+
border-color: #666;
8182
}
8283

8384
.test-card h2 {
84-
color: #2c3e50;
85+
color: #ffffff;
8586
margin-bottom: 15px;
8687
font-size: 1.4rem;
8788
}
8889

8990
.test-card p {
90-
color: #666;
91+
color: #c0c0c0;
9192
font-size: 0.95rem;
9293
line-height: 1.6;
9394
}
9495

9596
.webgl-card {
96-
background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
97+
background: linear-gradient(135deg, #4a4a4a 0%, #333333 100%);
9798
color: white;
99+
border-color: #555;
98100
}
99101

100102
.webgl-card h2,
@@ -103,8 +105,9 @@
103105
}
104106

105107
.webgpu-card {
106-
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%);
108+
background: linear-gradient(135deg, #555555 0%, #3a3a3a 100%);
107109
color: white;
110+
border-color: #666;
108111
}
109112

110113
.webgpu-card h2,
@@ -113,14 +116,15 @@
113116
}
114117

115118
.features {
116-
background: #f8f9fa;
119+
background: #2a2a2a;
117120
border-radius: 8px;
118121
padding: 30px;
119122
margin-bottom: 30px;
123+
border: 1px solid #444;
120124
}
121125

122126
.features h3 {
123-
color: #2c3e50;
127+
color: #ffffff;
124128
margin-bottom: 20px;
125129
}
126130

@@ -132,10 +136,11 @@
132136
}
133137

134138
.features li {
135-
background: white;
139+
background: #333333;
136140
padding: 15px;
137141
border-radius: 6px;
138-
border-left: 4px solid #667eea;
142+
border-left: 4px solid #666666;
143+
color: #e0e0e0;
139144
}
140145

141146
.github-link {
@@ -182,6 +187,10 @@ <h1>🚀 WebGL/WebGPU Texture Upload Benchmark Suite</h1>
182187
<p>A comprehensive benchmarking suite designed to measure and compare texture upload performance across WebGL and WebGPU APIs on various hardware platforms and browsers. Test different optimization strategies including allocation patterns, memory alignment, buffer management, and GPU synchronization approaches.</p>
183188
</div>
184189

190+
<div class="test-preview">
191+
<img src="test-image.png" alt="WebGL/WebGPU Texture Upload Test Screenshot" style="max-width: 100%; height: auto; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); margin: 20px 0;">
192+
</div>
193+
185194
<div class="features">
186195
<h3>🎯 Test Features</h3>
187196
<ul>
@@ -206,11 +215,11 @@ <h2>⚡ WebGPU Tests</h2>
206215
</a>
207216
</div>
208217

209-
<div style="margin-top: 30px; padding-top: 30px; border-top: 1px solid #eee;">
210-
<p style="color: #666; margin-bottom: 15px;">
218+
<div style="margin-top: 30px; padding-top: 30px; border-top: 1px solid #444;">
219+
<p style="color: #b0b0b0; margin-bottom: 15px;">
211220
📋 <strong>Usage:</strong> Run tests to compare upload strategies for your target hardware. Results help optimize texture streaming performance in web graphics applications.
212221
</p>
213-
<p style="color: #666; margin-bottom: 20px;">
222+
<p style="color: #b0b0b0; margin-bottom: 20px;">
214223
⭐ Focus on non-Basic tests for realistic GPU-loaded performance scenarios.
215224
</p>
216225

test-image.png

62.2 KB
Loading

0 commit comments

Comments
 (0)