godotengine / godotengine/godot-benchmarks
Track VGPR/SGPR usage in addition to other performance data
- Dominant language
- GDScript
- Stars
- 155
- Forks
- 48
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 1
Description
Using AMD GPU Analyzer we can now analyze our default shader code and see line-by-line resource usage including register pressure. As VGPR usage is one of the largest bottlenecks we have right now, it is something we should track and aim to reduce.
Right now the basic Godot scene fragment shader allocates 80 VGPRs and only uses 73. We should aim to reduce that number (or at least avoid needlessly increasing it).
Below are examples of the output you can get from AMD GPU analyzer which could be easily parsed to highlight changes and increases or decreases in register usage
[gfx1035_livereg_frag.txt](https://github.com/godotengine/godot-benchmarks/files/9440799/gfx1035_livereg_frag.txt)
[gfx1035_livereg_vert.txt](https://github.com/godotengine/godot-benchmarks/files/9440800/gfx1035_livereg_vert.txt)
Contributor guide
Research direction
Start by reviewing the attached AMD GPU Analyzer outputs for the default scene's fragment and vertex shaders, then inspect how this benchmark repository currently records performance data. Done means VGPR and SGPR usage are parsed and reported so increases or decreases in register usage can be tracked.
Written by the indexing model from the issue text.
Assessment
- Domain
- game-dev, performance
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100