Skip to content

Conversation

@cabanier
Copy link
Contributor

Proposal to foveate a user provided texture. I need to talk to the immersive group about adding this new API.

Without this feature:
Surface 2 | 3360x1760 | color 32bit, depth 24bit, stencil 0 bit, MSAA 4, Mode: 1 (HwBinning) | 63 384x256 bins ( 63 rendered) | 1.38 ms | 128 stages : Binning : 0.194ms Render : 0.727ms StoreColor : 0.133ms Blit : 0.004ms

With this feature:
Surface 8 | 3360x1760 | color 32bit, depth 24bit, stencil 0 bit, MSAA 4, Mode: 1 (HwBinning) | 72 288x320 bins ( 38 rendered) | 1.26 ms | 78 stages : Binning : 0.161ms Render : 0.514ms StoreColor : 0.31ms Blit : 0.004ms

Don't pay too much attention to the timings as they depend on the content that is on the screen. The important part is that there are fewer rendered "bins" since they're bigger in the foveated areas.

@cabanier
Copy link
Contributor Author

WIP. Not for merging yet

@github-actions
Copy link

📦 Bundle size

Full ESM build, minified and gzipped.

Before After Diff
WebGL 336.27
78.29
336.27
78.29
+0 B
+0 B
WebGPU 517.08
143.61
517.48
143.71
+402 B
+102 B
WebGPU Nodes 516.54
143.5
516.95
143.6
+402 B
+103 B

🌳 Bundle size after tree-shaking

Minimal build including a renderer, camera, empty scene, and dependencies.

Before After Diff
WebGL 465.25
112.13
465.25
112.13
+0 B
+0 B
WebGPU 589.09
159.7
589.49
159.8
+402 B
+103 B
WebGPU Nodes 544.45
149.25
544.85
149.36
+402 B
+105 B

@Mugen87 Mugen87 marked this pull request as draft February 24, 2025 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant