You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On my machine, moving the window by dragging the titlebar is very stuttery.
The resizing behaviour of windows is also suboptimal.
While resizing, more background is showing through then I would like to (The kind that is set with IDXGISwapChain1::SetBackgroundColor).
I have encounter this behaviour in another framework and my own code before.
I dont know the complete reason, but from what I remember this is some faulty behaviour of the nvidia graphics driver.
using SDL 3.2.8 with sdl_gpu using DX12,
On Windows 10.0.19045 Build 19045
with a nvidia 4090 and latest drivers
Calling DwmFlush on WM_MOVING and WM_TIMER events fixes it for me.
DwmFlush on WM_MOVING fixes the stuttery dragging of windows.
DwmFlush on WM_TIMER improves the resizing behaviour.
The code below works well for DX12 but is not perfect for vulkan.
With the latter, dragging the left corner will cause some wonky behaviour.
I assume its because both WM_MOVING and WM_TIMER both fire and cause two flushes.
Maybe one would need to detect if the window is dragged or moved for best behaviour.
On my machine, moving the window by dragging the titlebar is very stuttery.
The resizing behaviour of windows is also suboptimal.
While resizing, more background is showing through then I would like to (The kind that is set with IDXGISwapChain1::SetBackgroundColor).
I have encounter this behaviour in another framework and my own code before.
I dont know the complete reason, but from what I remember this is some faulty behaviour of the nvidia graphics driver.
using SDL 3.2.8 with sdl_gpu using DX12,
On Windows 10.0.19045 Build 19045
with a nvidia 4090 and latest drivers
Calling DwmFlush on WM_MOVING and WM_TIMER events fixes it for me.
DwmFlush on WM_MOVING fixes the stuttery dragging of windows.
DwmFlush on WM_TIMER improves the resizing behaviour.
The code below works well for DX12 but is not perfect for vulkan.
With the latter, dragging the left corner will cause some wonky behaviour.
I assume its because both WM_MOVING and WM_TIMER both fire and cause two flushes.
Maybe one would need to detect if the window is dragged or moved for best behaviour.
The text was updated successfully, but these errors were encountered: