qt5base-lts/tests/benchmarks/corelib/kernel
Alex Trotsenko aefd414ce2 QWinEventNotifier: unlink from event dispatcher
Instead of multiplexing all notifications into a single Qt event for
the event dispatcher, we can send 'WinEventAct' event directly for each
notifier which activated. This trick improves the performance (esp.
on a large number of events) and allows us to remove notifiers handling
from the event dispatcher completely.

As an alternative to sending Qt events, use of Windows' APC queue in
conjunction with waking up the Qt event loop from within the Windows
thread pool has been considered. However, that would lead to signal
emission asynchronous to the Qt event loop's operation, which is not
acceptable.

Thanks to Oswald Buddenhagen for the proposed idea.

[ChangeLog][QtCore][QAbstractEventDispatcher] The
{un}registerEventNotifier() member functions have been removed.
QWinEventNotifier is no longer needed to be registered in the
event dispatcher.

Change-Id: I140892fb909eaae0eabf2e07ebabcab78c43841c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-11-10 17:56:51 +02:00
..
events CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qcoreapplication CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qmetaobject CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qmetatype CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qobject CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qtimer_vs_qmetaobject CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qvariant CMake: Regenerate projects to use new qt_internal_ API 2020-09-23 16:59:06 +02:00
qwineventnotifier QWinEventNotifier: unlink from event dispatcher 2020-11-10 17:56:51 +02:00
CMakeLists.txt QWinEventNotifier: unlink from event dispatcher 2020-11-10 17:56:51 +02:00
kernel.pro QWinEventNotifier: unlink from event dispatcher 2020-11-10 17:56:51 +02:00