From kwin Tue Jan 28 06:45:19 2014 From: =?utf-8?q?Martin_Gr=C3=A4=C3=9Flin?= Date: Tue, 28 Jan 2014 06:45:19 +0000 To: kwin Subject: Re: Review Request 115297: Keep KWin responsive while loading all effects Message-Id: <20140128064519.26257.18941 () probe ! kde ! org> X-MARC-Message: https://marc.info/?l=kwin&m=139089153905887 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============1192355342690870853==" --===============1192355342690870853== Content-Type: multipart/alternative; boundary="===============3445821237546929047==" --===============3445821237546929047== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/115297/ ----------------------------------------------------------- (Updated Jan. 28, 2014, 6:45 a.m.) Status ------ This change has been marked as submitted. Review request for kwin. Repository: kde-workspace Description ------- Keep KWin responsive while loading all effects Loading all effects during startup can take some time[1] and during that time the screen is frozen as the loading blocks the compositor. This change doesn't load effects directly but puts them into a queue. The loading is controlled by a single-shooting QTimer with 0 msec interval. Thus we get a firing compositing timer in between and can ensure that a frame is rendered when needed and also react to X events during the loading. [1] On my high-end system the set of effects I use take about 200 msec to load. Diffs ----- kwin/effects.cpp 7da54f4992fcc23989a99e60ec57bcb97c3cc0c3 kwin/effects.h adcf970a43745cbd44f2510bc0da23aa0450637b Diff: https://git.reviewboard.kde.org/r/115297/diff/ Testing ------- Added some debug statements to see whether we get frames rendered between loading. Yes, works. Thanks, Martin Gräßlin --===============3445821237546929047== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/115297/

This change has been marked as submitted.


Review request for kwin.
By Martin Gräßlin.

Updated Jan. 28, 2014, 6:45 a.m.

Repository: kde-workspace

Description

Keep KWin responsive while loading all effects

Loading all effects during startup can take some time[1] and during
that time the screen is frozen as the loading blocks the compositor.

This change doesn't load effects directly but puts them into a queue.
The loading is controlled by a single-shooting QTimer with 0 msec
interval. Thus we get a firing compositing timer in between and can
ensure that a frame is rendered when needed and also react to X events
during the loading.

[1] On my high-end system the set of effects I use take about 200 msec
    to load.

Testing

Added some debug statements to see whether we get frames rendered between loading. Yes, works.

Diffs

  • kwin/effects.cpp (7da54f4992fcc23989a99e60ec57bcb97c3cc0c3)
  • kwin/effects.h (adcf970a43745cbd44f2510bc0da23aa0450637b)

View Diff

--===============3445821237546929047==-- --===============1192355342690870853== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ kwin mailing list kwin@kde.org https://mail.kde.org/mailman/listinfo/kwin --===============1192355342690870853==--