Skip to content

vk: batched submits: a progress poll flushes only after 2 ms by default - #689

Merged
NotRexed merged 1 commit into
NotRexed:mainfrom
azlekayn:fix/radv-batch-poll-default
Nov 9, 2026
Merged

NotRexed merged 1 commit into
NotRexed:mainfrom
azlekayn:fix/radv-batch-poll-default

Conversation

@azlekayn

@azlekayn azlekayn commented Nov 8, 2026

Copy link
Copy Markdown

What this fixes

With RX_VK_BATCH on (the default on RADV), get_replayed() sends the held submits on every progress poll, because RX_VK_BATCH_POLL_US defaults to 0. The game polls many times a frame, so most flushes come from polls, and each one is a full command submission. That is the cost batching exists to avoid.

This makes the default 2000 µs, as suggested in #413 and #528. A poll then flushes only once the oldest held submit has waited 2 ms. RX_VK_BATCH_POLL_US=0 restores the old behaviour. Flushes for waits, values, slots and presents are unchanged, so held work is delayed by at most 2 ms on the poll path.

Measured

RX 7800 XT, RADV, Kokiri Forest, Link idle on the balcony at about 2150 draws. 60 s per run, 2 runs per setting, on one build with the settings interleaved.

RX_VK_BATCH_POLL_US fps poll flushes per 120 presents big flashes
0 (old default) 38.5, 37.6 525 0, 0
2000 (new default) 42.2, 43.1 67 0, 0

An earlier sweep on 7e9bf73 + #448 was flat from 1 to 16 ms: 41.4 to 43.7 fps against 37.1 and 37.3 for 0.

Not covered

🤖 Generated with Claude Code

RX_VK_BATCH_POLL_US defaulted to 0, so every progress poll sent the held
submits. The game polls many times a frame, and on RADV each of those
flushes is a full command submission, the cost batching exists to avoid.
RX_VK_BATCH_POLL_US=0 restores the old behaviour.

Refs NotRexed#413, NotRexed#528.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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