Skip to content

Split VkCmd recorded commands into their own category - #26

Merged
olehkuznetsov merged 1 commit into
android-graphics:mainfrom
olehkuznetsov:split-vkcmd-category
Jul 31, 2026
Merged

Split VkCmd recorded commands into their own category#26
olehkuznetsov merged 1 commit into
android-graphics:mainfrom
olehkuznetsov:split-vkcmd-category

Conversation

@olehkuznetsov

@olehkuznetsov olehkuznetsov commented Jul 31, 2026

Copy link
Copy Markdown

Description

This PR splits vkCmd* recorded commands into their own CPU timing category (VulkanCPUTiming/VkCmd), separating them from other VkCommandBuffer operations (such as vkBeginCommandBuffer and vkEndCommandBuffer).

Motivation

Previously, all VkCommandBuffer related calls were grouped under a single Perfetto category (VulkanCPUTiming/VkCommandBuffer). Enabling this category meant tracing every single recorded command (e.g., vkCmdDraw, vkCmdBindPipeline), which introduces massive CPU overhead and drastically inflates trace sizes due to their very high frequency during frame recording.
By splitting recorded commands into a distinct VkCmd category, users can now selectively trace important command buffer lifecycle operations (like Begin and End) using the existing VkCommandBuffer category. This allows for logging important buffer commands without incurring the huge performance penalty of tracing every individual vkCmd* call, unless explicitly needed.

@olehkuznetsov
olehkuznetsov merged commit 2161dce into android-graphics:main Jul 31, 2026
14 of 15 checks passed
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