Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebGPURenderer: Rework to use a single renderBundle per Group().static object #29239

Merged
merged 1 commit into from
Aug 28, 2024

Conversation

aardgoose
Copy link
Contributor

The existing code uses a renderBundle per object. Create a single renderBundle in preparation for bindGroup sorting and setBindGroup() minimisation,using a renderBundle currentSet{} object.

This combined with PR #27388 (single buffer for uniform buffers), I get a Chrome GPU Process frame time reduced from 10ms to 1.5ms.

Copy link

📦 Bundle size

Full ESM build, minified and gzipped.

Filesize dev Filesize PR Diff
685.4 kB (169.7 kB) 685.4 kB (169.7 kB) +0 B

🌳 Bundle size after tree-shaking

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

Filesize dev Filesize PR Diff
462 kB (111.4 kB) 462 kB (111.4 kB) +0 B

@aardgoose aardgoose marked this pull request as ready for review August 27, 2024 13:40
@sunag sunag added this to the r168 milestone Aug 27, 2024
@sunag sunag merged commit 1c92c7b into mrdoob:dev Aug 28, 2024
12 checks passed
@aardgoose aardgoose deleted the bundle2 branch August 28, 2024 18:47
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.

2 participants