From d33d24bb7f19fd212fc35a9cd3bd577a8ec12342 Mon Sep 17 00:00:00 2001 From: Mark Russinovich Date: Sat, 31 Jan 2026 11:31:47 -0800 Subject: [PATCH] Improve gripper dragging smoothness with immediate visual updates --- src/modules/ZoomIt/ZoomIt/VideoRecordingSession.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/modules/ZoomIt/ZoomIt/VideoRecordingSession.cpp b/src/modules/ZoomIt/ZoomIt/VideoRecordingSession.cpp index ff7722bd06..6494b8741a 100644 --- a/src/modules/ZoomIt/ZoomIt/VideoRecordingSession.cpp +++ b/src/modules/ZoomIt/ZoomIt/VideoRecordingSession.cpp @@ -3299,6 +3299,7 @@ static LRESULT CALLBACK TimelineSubclassProc( RECT clientRect{}; GetClientRect(hWnd, &clientRect); InvalidatePlayheadRegion(hWnd, clientRect, previousPosX, newPosX, dpi); + UpdateWindow(hWnd); // Force immediate visual update for smooth dragging pData->previewOverrideActive = false; UpdateVideoPreview(pData->hDialog, pData, false); break; @@ -3346,12 +3347,16 @@ static LRESULT CALLBACK TimelineSubclassProc( pData->previewOverride = overrideTime; } + // Force immediate visual update of gripper for smooth dragging + InvalidateRect(hWnd, nullptr, FALSE); + UpdateWindow(hWnd); + + // Request preview update asynchronously (don't block gripper movement) if (requestPreviewUpdate) { - UpdateVideoPreview(pData->hDialog, pData); + UpdateVideoPreview(pData->hDialog, pData, false); } - InvalidateRect(hWnd, nullptr, FALSE); return 0; }