Investigate whether to `gl.uniform*(undefined)` should be avoided
Open
Nobody has claimed this yet.
needs investigation :mag:
performance :zap:
- Dominant language
- TypeScript
- Stars
- 12.4k
- Forks
- 2.4k
- PR merge metrics
- No merged PRs in 30d
Description
We may call `gl.uniform*` with an `undefined` uniform location. This can happen due to the multiple variants of shader we create (whenever using `#ifdef` around uniforms declaration or use) and when a uniform is left unused. I'm not sure if these should be entirely skipped or whether there is a performance impact to doing so, but it seems worth investigating and measuring.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the gl.uniform* calls and the shader variants that can leave uniform locations undefined. Measure the impact of skipping those calls versus keeping them, and document a clear recommendation based on the results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- computer-graphics, frontend, performance
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100