Skip to content

Instrument Vulkan frame profiling - #175

Merged
anirul merged 1 commit into
masterfrom
codex/vulkan-frame-profiler
May 6, 2026
Merged

Instrument Vulkan frame profiling#175
anirul merged 1 commit into
masterfrom
codex/vulkan-frame-profiler

Conversation

@anirul

@anirul anirul commented May 6, 2026

Copy link
Copy Markdown
Owner

Summary

  • add an opt-in Vulkan frame profiler enabled with FRAME_VULKAN_PROFILE=1
  • aggregate frame timing and counters every 120 rendered frames
  • instrument Vulkan raytrace update, GPU skinning, BLAS/TLAS update, command recording, submit, present, and fence wait paths

Findings from grpcMMO run

Captured with grpcmmo_client.exe --device=vulkan --auto_move_seconds=30 at 1280x720.

Steady average after the first profile window:

  • FPS: ~102.8
  • renderer.display: ~8.07 ms/frame
  • renderer.update_raytrace_buffers: ~7.27 ms/frame
  • raytrace.gpu_skinning_update: ~3.20 ms/frame
  • raytrace.hardware_transform_update: ~1.74 ms/frame
  • raytrace.tlas_update: ~0.84 ms/frame
  • raytrace.gpu_skinning_submit_wait: ~0.65 ms/frame
  • raytrace.tlas_update_submit_wait: ~0.36 ms/frame

Counters showed raytrace.gpu_skinning_blas_updates=1.00/frame and raytrace.tlas_updates=1.00/frame, so the current slow path is per-frame raytrace buffer/acceleration-structure update rather than present, command recording, or fence wait.

Verification

  • cmake --build --preset windows-client-debug
  • local Vulkan client profiling run with temporary local auth/game server ports

@anirul
anirul merged commit 766250c into master May 6, 2026
2 checks passed
@anirul
anirul deleted the codex/vulkan-frame-profiler branch May 6, 2026 07:15
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