[vlc-commits] [Git][videolan/vlc][master] qt/CompositorDComp: early call render on resize

Hugo Beauzée-Luyssen (@chouquette) gitlab at videolan.org
Fri Feb 4 10:04:16 UTC 2022



Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC


Commits:
15ec6fd3 by Prince Gupta at 2022-02-04T09:45:48+00:00
qt/CompositorDComp: early call render on resize

on window resize, it seems that qt event loop is overwhelmed with resize
events, making timer event of requestUpdate called very late, that
causes delays in rendering

manually call render to avoid out of sync window painting
ref #25572

- - - - -


2 changed files:

- modules/gui/qt/maininterface/compositor_dcomp_uisurface.cpp
- modules/gui/qt/maininterface/compositor_dcomp_uisurface.hpp


Changes:

=====================================
modules/gui/qt/maininterface/compositor_dcomp_uisurface.cpp
=====================================
@@ -566,6 +566,13 @@ void CompositorDCompositionUISurface::render()
     }
 }
 
+void CompositorDCompositionUISurface::forceRender()
+{
+    m_renderPending = false;
+    m_renderTimer.stop();
+    render();
+}
+
 void CompositorDCompositionUISurface::timerEvent(QTimerEvent *event)
 {
     if (!event)
@@ -615,6 +622,7 @@ bool CompositorDCompositionUISurface::eventFilter(QObject* object, QEvent* event
 
     case QEvent::Resize:
         updateSizes();
+        forceRender();
         break;
 
     case QEvent::WindowActivate:


=====================================
modules/gui/qt/maininterface/compositor_dcomp_uisurface.hpp
=====================================
@@ -111,6 +111,7 @@ private:
 
     void requestUpdate();
     void render();
+    void forceRender();
 
     void handleScreenChange();
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/15ec6fd302b7a713206b644832878f99b0572414

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/15ec6fd302b7a713206b644832878f99b0572414
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list