1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-25 02:04:23 +00:00
JUCE/modules/juce_gui_basics/native
reuk 7685a84c81
HWNDComponentPeer: Avoid glitches and sluggishness during live resize
258203706c introduced a problem where
live-resize of a window would cause the window content to flash and slow
down.

The cause of the errant behaviour seems to be that, during resize, many
WM_PAINT messages might be dispatched over the course of a single vblank
interval. Then, each of these paint calls was waiting for the next
vblank interval to display. This additional waiting resulted in
sluggishness, since many frames would have to be presented before the
presentation 'caught up' with the current window size. This also meant
that many consecutive frames were presented with stale window size
information.

The solution added here simply checks whether we're live resizing, and
uses the vblank instead of WM_PAINT to synchronise repaints during the
resize operation.
2026-01-20 10:55:13 +00:00
..
accessibility Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not 2025-09-25 14:56:34 +01:00
java/app/com/rmsl/juce Android: Always set navigation bar colour 2025-07-09 11:30:28 +01:00
javaopt/app/com/rmsl/juce Android: Allow modifying the status/navigation bar colours 2025-07-03 16:15:03 +01:00
juce_CGMetalLayerRenderer_mac.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_ContentSharer_android.cpp Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_ContentSharer_ios.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_Direct2DHwndContext_windows.cpp SwapChain: Remove unused event 2026-01-20 10:55:13 +00:00
juce_Direct2DHwndContext_windows.h Direct2D: Remove SwapChainThread completely 2025-12-17 18:05:46 +00:00
juce_DragAndDrop_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_DragAndDrop_windows.cpp Singleton: Add new macros to simplify singleton creation 2024-10-16 10:36:52 +01:00
juce_FileChooser_android.cpp Platform: Remove compatibility checks for Android 20 and earlier 2024-07-03 13:45:37 +01:00
juce_FileChooser_ios.mm iOS: Fix a crash selecting files in iOS 12 and 13 2025-11-05 15:59:52 +00:00
juce_FileChooser_linux.cpp Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_FileChooser_mac.mm ObjCHelpers: Rename makeCGRect from makeNSRect 2025-01-23 12:20:27 +00:00
juce_FileChooser_windows.cpp Smart Pointers: Add a new enum for indicating if a smart point should increment a reference count or not 2025-09-25 14:56:34 +01:00
juce_MainMenu_mac.mm Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_MouseCursor_mac.mm MouseCursor: Fix argument order in call to dictionaryWithObjectsAndKeys 2024-04-16 21:07:44 +01:00
juce_MultiTouchMapper.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_NativeMessageBox_ios.mm NativeMessageBox (iOS): Delay lookup of focused peer 2025-07-30 11:22:09 +01:00
juce_NativeMessageBox_linux.cpp MessageBox: Avoid potential divide-by-zero for boxes with no buttons 2024-10-20 22:59:39 +01:00
juce_NativeMessageBox_mac.mm Platform: Remove compatibility checks for macOS 10.9 2024-07-02 18:06:27 +01:00
juce_NativeMessageBox_windows.cpp NativeMessageBox: Fix string pointer use-after-free 2024-09-05 12:21:02 +01:00
juce_NativeModalWrapperComponent_ios.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_NSViewComponentPeer_mac.mm Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_PerScreenDisplayLinks_mac.h FunctionNotificationCenterObserver: Move to ObjCHelpers header 2025-09-17 12:50:06 +01:00
juce_ScopedDPIAwarenessDisabler.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_ScopedDPIAwarenessDisabler.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_ScopedThreadDPIAwarenessSetter_windows.h Add some missing nodiscards 2026-01-20 10:55:13 +00:00
juce_ScopedWindowAssociation_linux.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_UIViewComponentPeer_ios.mm iOS: Always update peer bounds when window scene coordinate space is updated 2025-12-08 14:19:45 +00:00
juce_VBlank_windows.cpp D2D: Avoid crashing when attempting to create a vblank dispatcher on a headless system 2025-08-27 18:09:23 +01:00
juce_Windowing_android.cpp Formatting: Remove double-dots from comments and other strings 2025-11-18 15:47:42 +00:00
juce_Windowing_ios.mm iOS AppDelegate: Tidy up constructor of keyboard-tracking DelegateClass 2025-11-04 14:18:19 +00:00
juce_Windowing_linux.cpp ComponentPeer: Add method for overriding native scale factor 2025-12-16 12:23:58 +00:00
juce_Windowing_mac.mm AUv3: Fix an issue in detecting the available screen user area 2025-10-10 18:07:52 +01:00
juce_Windowing_windows.cpp HWNDComponentPeer: Avoid glitches and sluggishness during live resize 2026-01-20 10:55:13 +00:00
juce_WindowsHooks_windows.cpp Windows: Remove mousewheel hook 2024-08-22 17:35:18 +01:00
juce_WindowsHooks_windows.h Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_android.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_ios.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_linux.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_mac.mm Update licensing information 2024-04-16 11:39:35 +01:00
juce_WindowUtils_windows.cpp Update licensing information 2024-04-16 11:39:35 +01:00
juce_XSymbols_linux.cpp X11: Load XNextRequest function 2025-12-16 12:03:35 +00:00
juce_XSymbols_linux.h X11: Load XNextRequest function 2025-12-16 12:03:35 +00:00
juce_XWindowSystem_linux.cpp X11: Ignore ConfigureNotify events containing stale information 2025-12-16 12:03:35 +00:00
juce_XWindowSystem_linux.h X11: Ignore ConfigureNotify events containing stale information 2025-12-16 12:03:35 +00:00