Skip to content

Frame Warm Up#2713

Open
antonio-lunarg wants to merge 1 commit intoLunarG:devfrom
antonio-lunarg:antonio-warm-up
Open

Frame Warm Up#2713
antonio-lunarg wants to merge 1 commit intoLunarG:devfrom
antonio-lunarg:antonio-warm-up

Conversation

@antonio-lunarg
Copy link
Contributor

The --frame-warm-up-load option controls a synthetic compute warm-up pass submitted before replay frame work. This helps ramp/stabilize GPU frequency before each frame so performance measurements are less sensitive to clock ramp-up latency.

frame_warm_up_load is a workload scale factor: higher values increase warm-up work by scaling compute dispatch workgroups, while 0 keeps warm-up disabled.

private:
uint32_t warm_up_load_{ 0 };

VkCommandPool command_pool_{ VK_NULL_HANDLE };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think other places are creating very similar temporary Vulkan objects in order to submit command buffers for execution via a QueueSubmit. Resource initializer, virtual swapchain, screenshot handler, dump resources and address replacer comes to mind without checking. I wonder if it would be a good idea to create a utility class that handles creation and destruction of such objects (of course as a separate PR and not as part of this)

@antonio-lunarg antonio-lunarg marked this pull request as draft February 23, 2026 15:15
@antonio-lunarg antonio-lunarg force-pushed the antonio-warm-up branch 7 times, most recently from 6f73faa to f1e9214 Compare March 3, 2026 16:55
@antonio-lunarg antonio-lunarg marked this pull request as ready for review March 3, 2026 16:55
@antonio-lunarg antonio-lunarg added the approved-to-run-ci Can run CI check on internal LunarG machines label Mar 4, 2026
@antonio-lunarg antonio-lunarg force-pushed the antonio-warm-up branch 8 times, most recently from 351d25d to 7c00647 Compare March 9, 2026 10:43
The `--frame-warm-up-spirv` option can be used to provide a SPIR-V
compute shader for the compute warm-up pass before replay frame work.

The `--frame-warm-up-load` option is a workload scale factor: higher
values increase warm-up work by scaling compute dispatch workgroups,
while `0` keeps warm-up disabled.

This helps ramp/stabilize GPU frequency before each frame so performance
measurements are less sensitive to clock ramp-up latency.

Co-authored-by: Oleh Kuznetsov <okuznetsov@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved-to-run-ci Can run CI check on internal LunarG machines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants