[P2][RENDER] GPU profiling and render-pass inspector for AI agents
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 61/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- rust
- Domain
- backend-api-design, observability
Research direction
Start at perf.get in src/control.rs, then read PerfReport and GPU pass reporting in src/render/mod.rs, src/render/gpu.rs, and src/render/gpu3d.rs; review the existing counters and capability decisions from #134, #150, and #151. Define the optional metrics and active settings metadata, then trace where prepare time, upload bytes, and memory estimates can be reported. Done for a focused slice means stable fields with clear units, unsupported metrics marked unavailable, and relevant tests or measurements included.
Written by the indexing model from the issue text.
Description
Problem and goal
Existing GPU timers and RenderStats are useful; expose a coherent machine-readable breakdown to agents and developers.
Implementation scope
- Expose CPU extraction/prepare/encode, GPU pass timings, draw calls, triangle counts, culled instances, buffer-upload bytes and memory estimates.
- Mark timestamp-unsupported metrics as unavailable, not zero.
- Add MCP endpoint or structured control command to fetch recent frames and active quality settings.
- Include a short example: agent requests report, changes quality level, then compares results.
Acceptance criteria
- Structured schema with stable field names and clear units.
- Minimal release overhead when disabled.
- No fabricated GPU times for unsupported adapters.
Relevant code
src/render/mod.rssrc/render/gpu.rssrc/render/gpu3d.rscrates/crabby_mcp/
Dependencies and notes
Builds on baseline instrumentation.
Compatibility: preserve existing public Rust and C/C++ APIs unless an independently approved design explicitly requires a breaking change. Collect correctness results and before/after measurements for performance-oriented changes.
Source audit and first contribution (2026-11-09)
Reviewed against source baseline df5c1d4 and merged implementation PRs through #167. The full issue acceptance criteria are still open; this audit does not mark the task complete. Existing priority is unchanged.
Starting point: perf.get in src/control.rs, PerfReport and GPU pass reporting already expose structured results. Extend these schemas rather than add a competing endpoint.
First slice: Specify optional/unavailable metrics and active settings metadata, then add missing upload/memory/prepare fields in stages.
Dependencies and coordination: Reuse #134/#150 counters and #151 capability decisions; unavailable GPU time is not zero.
Focused Rust-only PRs are welcome; a contributor need not complete this entire issue in one PR or also implement C/C++ bindings and guide chapters. Maintainers coordinate scoped documentation/native follow-ups. Preserve existing compatibility and supply tests/evidence relevant to the slice.
- Dominant language
- Rust
- Stars
- 4
- Forks
- 0
- Avg merge
- 45m
- Merged PRs (30d)
- 199
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing 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.
More from ponkoengine/ponko
-
area: ecs bug priority: P2 type: testing
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
ponkoengine/ponko#321 ·
Maintainers usually reply within 1 day
-
area: rendering bug priority: P2 type: testing
Difficulty 4/5 3-5 days Newbie friendliness 44/100
ponkoengine/ponko#322 ·
Maintainers usually reply within 1 day
-
area: build area: platforms help wanted priority: P3 type: feature
Difficulty 4/5 3-5 days Newbie friendliness 45/100
ponkoengine/ponko#282 ·
Maintainers usually reply within 1 day
-
area: tooling priority: P2 type: feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
ponkoengine/ponko#262 ·
Maintainers usually reply within 1 day
-
area: build documentation help wanted priority: P2 type: feature
Difficulty 4/5 3-5 days Newbie friendliness 45/100
ponkoengine/ponko#246 ·
Maintainers usually reply within 1 day
All issues in ponkoengine/ponko
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
design-data-spec
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
adobe/spectrum-design-data#1744 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
USERID reads /etc/passwd directly instead of looking the user upPossibly taken A pull request linked to this issue is open or already merged. Opendefect
Difficulty 2/5 1-3 hours Newbie friendliness 67/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day