[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: Re: Review Request 126906: Simplified fullscreen blur for Application Dashboard
From: Thomas_Lübking <thomas.luebking () gmail ! com>
Date: 2016-01-27 17:21:59
Message-ID: 20160127172159.17778.62682 () mimi ! kde ! org
[Download RAW message or body]
--===============3481359227169802531==
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/126906/#review91675
-----------------------------------------------------------
effects/blur/blur.cpp (line 446)
<https://git.reviewboard.kde.org/r/126906/#comment62628>
move that ugly ::boundingRect test to the end?
effects/blur/blur.cpp (line 474)
<https://git.reviewboard.kde.org/r/126906/#comment62629>
Did you try the behavior on a varying scene?
Generating mipmaps isn't exactly cheap and linear interpolation suffers from \
artifacts when things below move (I had tried an even smarter trick for general \
blurring, looks stunning and is incredibly fast ... as long as you deal with static \
contents)
- Thomas Lübking
On Jan. 27, 2016, 1:24 p.m., Martin Gräßlin wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/126906/
> -----------------------------------------------------------
>
> (Updated Jan. 27, 2016, 1:24 p.m.)
>
>
> Review request for kwin, Plasma and Eike Hein.
>
>
> Repository: kwin
>
>
> Description
> -------
>
> [kwineffects] Expose fullScreen property in EffectWindow
> Also copied to Deleted.
>
> [effects] Add a simplified fullscreen blur
>
> If a window is fullscreen and wants fullscreen blur behind it, we
> use the blur from logout effect. This is mostly intended for the
> Application Dashboard which requires a fullscreen blur. The generic
> blur effect is not designed for such usage and is rather costly.
>
> This simplified blur just needs framebuffer blit and midmaps. This
> makes it rather cheap in usage and also doesn't need a cached texture.
>
>
> Diffs
> -----
>
> deleted.h bb87ae9611a5b59a5b37cf5a4cd38e99ed987069
> deleted.cpp 239ba8fec76ad520728182faf6429be8730ebec1
> effects/blur/blur.h fd5a020688d0e4397ce18e03aa4f79565418e9c5
> effects/blur/blur.cpp a360f0301e2983d0fb0bf3effff71f95ac46ff22
> libkwineffects/kwineffects.h 4350e2b1c86252af43186164b10ad55fa388266e
> libkwineffects/kwineffects.cpp b767f6671284295d2e81b023ef62b24fcca8929a
>
> Diff: https://git.reviewboard.kde.org/r/126906/diff/
>
>
> Testing
> -------
>
>
> File Attachments
> ----------------
>
> Dashboard with new algorithm.
> https://git.reviewboard.kde.org/media/uploaded/files/2016/01/27/b6607afa-cf10-4cd8-a490-7b56de4faaec__Spectacle.o12214.png
>
>
> Thanks,
>
> Martin Gräßlin
>
>
--===============3481359227169802531==
MIME-Version: 1.0
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 8bit
<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="12" style="border: 1px #c9c399 \
solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;"> \
<tr> <td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://git.reviewboard.kde.org/r/126906/">https://git.reviewboard.kde.org/r/126906/</a>
</td>
</tr>
</table>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;"> <thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;"> <a \
href="https://git.reviewboard.kde.org/r/126906/diff/1/?file=441789#file441789line446" \
style="color: black; font-weight: bold; text-decoration: \
underline;">effects/blur/blur.cpp</a> <span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2">441</font></th> <td bgcolor="#fdfebc" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "> <span \
class="k">if</span> <span class="p">(</span><span class="n">m_shouldCache</span> \
<span class="o">&&</span> <span class="o">!</span><span \
class="n">translated</span> <span class="o">&&</span> <span \
class="o">!</span><span class="n">w</span><span class="o">-></span><span \
class="n">isDeleted</span><span class="p">())</span> <span \
class="p">{</span></pre></td> <th bgcolor="#e9eaa8" style="border-left: 1px solid \
#C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font \
size="2">446</font></th> <td bgcolor="#fdfebc" width="50%"><pre style="font-size: \
8pt; line-height: 140%; margin: 0; "> <span class="k">if</span> <span \
class="p">(</span><span class="n">w</span><span class="o">-></span><span \
class="n">isFullScreen</span><span class="p">()</span> <span \
class="o">&&</span> <span class="n">shape</span><span class="p">.</span><span \
class="n">boundingRect</span><span class="p">()</span> <span class="o">==</span> \
<span class="n">w</span><span class="o">-></span><span \
class="n">geometry</span><span class="p">()</span> <span class="o">&&</span> \
<span class="n">GLRenderTarget</span><span class="o">::</span><span \
class="n">blitSupported</span><span class="p">()</span> <span \
class="o">&&</span> <span class="n">m_simpleShader</span><span \
class="o">-></span><span class="n">isValid</span><span class="p">())</span> <span \
class="p">{</span></pre></td> </tr>
</tbody>
</table>
<div style="margin-left: 2em;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">move \
that ugly ::boundingRect test to the end?</p></pre> </div>
</div>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; \
border-collapse: collapse; margin: 2px padding: 2px;"> <thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; \
font-size: 9pt; padding: 4px 8px; text-align: left;"> <a \
href="https://git.reviewboard.kde.org/r/126906/diff/1/?file=441789#file441789line474" \
style="color: black; font-weight: bold; text-decoration: \
underline;">effects/blur/blur.cpp</a> <span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" \
align="right"><font size="2"></font></th> <td bgcolor="#c5ffc4" width="50%"><pre \
style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td> <th \
bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid \
#C0C0C0;" align="right"><font size="2">474</font></th> <td bgcolor="#c5ffc4" \
width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span \
class="n">GLTexture</span> <span class="n">blurTexture</span> <span \
class="o">=</span> <span class="n">GLTexture</span><span class="p">(</span><span \
class="n">GL_RGBA8</span><span class="p">,</span> <span class="n">w</span><span \
class="o">-></span><span class="n">size</span><span class="p">(),</span> <span \
class="mi">3</span><span class="p">);</span></pre></td> </tr>
</tbody>
</table>
<div style="margin-left: 2em;">
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: \
0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Did \
you try the behavior on a varying scene?</p> <p style="padding: 0;text-rendering: \
inherit;margin: 0;line-height: inherit;white-space: inherit;">Generating mipmaps \
isn't exactly cheap and linear interpolation suffers from artifacts when things below \
move (I had tried an even smarter trick for general blurring, looks stunning and is \
incredibly fast ... as long as you deal with static contents)</p></pre> </div>
</div>
<br />
<p>- Thomas Lübking</p>
<br />
<p>On January 27th, 2016, 1:24 p.m. UTC, Martin Gräßlin wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: \
1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; \
-webkit-border-radius: 6px;"> <tr>
<td>
<div>Review request for kwin, Plasma and Eike Hein.</div>
<div>By Martin Gräßlin.</div>
<p style="color: grey;"><i>Updated Jan. 27, 2016, 1:24 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kwin
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" \
style="border: 1px solid #b8b5a0"> <tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: \
-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: \
break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">[kwineffects] Expose fullScreen property in \
EffectWindow Also copied to Deleted.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: \
inherit;white-space: inherit;">[effects] Add a simplified fullscreen blur</p> <p \
style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: \
inherit;">If a window is fullscreen and wants fullscreen blur behind it, we use the \
blur from logout effect. This is mostly intended for the Application Dashboard which \
requires a fullscreen blur. The generic blur effect is not designed for such usage \
and is rather costly.</p> <p style="padding: 0;text-rendering: inherit;margin: \
0;line-height: inherit;white-space: inherit;">This simplified blur just needs \
framebuffer blit and midmaps. This makes it rather cheap in usage and also doesn't \
need a cached texture.</p></pre> </td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>deleted.h <span style="color: \
grey">(bb87ae9611a5b59a5b37cf5a4cd38e99ed987069)</span></li>
<li>deleted.cpp <span style="color: \
grey">(239ba8fec76ad520728182faf6429be8730ebec1)</span></li>
<li>effects/blur/blur.h <span style="color: \
grey">(fd5a020688d0e4397ce18e03aa4f79565418e9c5)</span></li>
<li>effects/blur/blur.cpp <span style="color: \
grey">(a360f0301e2983d0fb0bf3effff71f95ac46ff22)</span></li>
<li>libkwineffects/kwineffects.h <span style="color: \
grey">(4350e2b1c86252af43186164b10ad55fa388266e)</span></li>
<li>libkwineffects/kwineffects.cpp <span style="color: \
grey">(b767f6671284295d2e81b023ef62b24fcca8929a)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/126906/diff/" style="margin-left: \
3em;">View Diff</a></p>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments \
</h1>
<li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2016/01/27/b6607afa-cf10-4cd8-a490-7b56de4faaec__Spectacle.o12214.png">Dashboard \
with new algorithm.</a></li>
</ul>
</td>
</tr>
</table>
</div>
</body>
</html>
--===============3481359227169802531==--
[Attachment #3 (text/plain)]
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic