https://bugs.kde.org/show_bug.cgi?id=485927
--- Comment #39 from Brandon Wright <bear...@gmail.com> --- Ok, here's a hacky example of how to fix it: > diff --git a/src/effect/offscreenquickview.cpp > b/src/effect/offscreenquickview.cpp > index 3dc83f9b2e..44ed0e8eae 100644 > --- a/src/effect/offscreenquickview.cpp > +++ b/src/effect/offscreenquickview.cpp > @@ -31,10 +31,13 @@ > #include <QQuickRenderTarget> > #include <QTimer> > #include <private/qeventpoint_p.h> // for QMutableEventPoint > +#include <private/qabstractanimation_p.h> > > namespace KWin > { > > +static bool instantiatedTimer = false; > + > class Q_DECL_HIDDEN OffscreenQuickView::Private > { > public: > @@ -146,6 +149,13 @@ OffscreenQuickView::OffscreenQuickView(ExportMode > exportMode, bool alpha) > d->m_repaintTimer->setSingleShot(true); > d->m_repaintTimer->setInterval(10); > > + if (!instantiatedTimer) > + { > + auto timerInstance = QUnifiedTimer::instance(); > + timerInstance->setTimingInterval(1); > + instantiatedTimer = true; > + } > + > connect(d->m_repaintTimer.get(), &QTimer::timeout, this, > &OffscreenQuickView::update); > connect(d->m_renderControl.get(), &QQuickRenderControl::renderRequested, > this, &OffscreenQuickView::handleRenderRequested); > connect(d->m_renderControl.get(), &QQuickRenderControl::sceneChanged, > this, &OffscreenQuickView::handleSceneChanged); This isn't the best. It's just to show an example that works. It uses private APIs. The timing interval would need to be set appropriate to the appropriate time of the fastest refresh rate and the use of a static global would need to be changed to something else and moved to the actual kwin initialization. The presumably sanctioned alternative is to inherit QAnimationDriver and use the install() method, which replaces the global animation driver. This would need to add its own logic and run the advanceAnimation() method to update the scene graph. If you wanted it to be driven by the window being refreshed like Zamundaaa says is supposed to happen, you could hook the refresh signal up and just call advanceAnimation instead of doing any timers. That might cause problems if the scene graph stuff is being used elsewhere. -- You are receiving this mail because: You are watching all bug changes.