M5.6: with a GPU, a slider drag's preview is drawn in the frame of the drag tick

A drag tick requested the loupe's draft and the frame ended; the draft,
done in 1.5-3 ms on the GPU, was picked up at the start of the next frame,
a frame after the slider moved. Now, in a drag, the loupe waits up to 40 %
of a frame for its draft when the last loupe render took well under that
(not with a render offload, nor zoomed in, where what changes on screen is
the window's draft). A CPU render, which would only make the frame late, is
not waited for.

JobPool::wait waits for the next finished job, which try_recv then hands
out; Renderer::poll's collection of finished jobs is split out so the wait
can turn the draft into the texture.

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
dev-null-undefined
2026-10-13 03:40:23 +02:00
co-authored by Claude
parent 701f78ea2e
commit c8f676252f
5 changed files with 95 additions and 8 deletions
+7
View File
@@ -1,5 +1,12 @@
# What's new in LightCraft
## 2026-10-13
### Slider drags follow the pointer more closely
- With a GPU, a slider drag's preview is drawn in the same frame as the slider moves instead of one frame later,
when the preview renders in a few milliseconds (it waits at most 40 % of a frame for it; slower renders, such as
on the CPU, are not waited for).
## 2026-10-11
### JPEG XL export