[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: Review Request 124948: [screenlocker] Render greeter backgrounds as black
From:       "Marco Martin" <notmart () gmail ! com>
Date:       2015-08-27 10:15:00
Message-ID: 20150827101500.4103.25471 () mimi ! kde ! org
[Download RAW message or body]

--===============7143159321510461845==
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/124948/#review84454
-----------------------------------------------------------

Ship it!


Ship It!

- Marco Martin


On Aug. 27, 2015, 8:48 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124948/
> -----------------------------------------------------------
> 
> (Updated Aug. 27, 2015, 8:48 a.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> The background of the whole screen locker architecture is black. During
> starting the lockscreen there might be a frame with just the background.
> To prevent flickering let's better use black instead of the default
> white.
> 
> [screenlocker] Delay the async loading till first frame is rendered
> 
> For the screenlocker architecture to work it's crucial that the views
> are shown as fast as possible with valid content. The OpenGL context
> initializes with a copy of the current framebuffer (which is the unlocked
> screen) and this is rendered as the first content of the lock screen
> and stays visible till QtQuick has rendered a proper scene.
> 
> Initial rendering of our scene takes some time (> 500 msec) in which
> the unlocked screen stays visible, but the architecture thinks it's
> already fully locked and e.g. starts suspending the system. This
> can result in the system waking up with the screen looking as unlocked.
> 
> This change ensures that at least one frame is rendered properly before
> starting to load the real scene in an async way. That's most likely just
> the black background which means the screen is properly locked, even if
> it is not the proper greeter yet. It's fine for the system to suspend in
> this stage as the screen is properly black.
> 
> 
> Diffs
> -----
> 
> ksmserver/screenlocker/greeter/greeterapp.h \
> ed278e492a9a237f65f4c1600360f84fb25bdad7  \
> ksmserver/screenlocker/greeter/greeterapp.cpp \
> b500ba44c2b483d7372ca46840152c90ef5f798c  
> Diff: https://git.reviewboard.kde.org/r/124948/diff/
> 
> 
> Testing
> -------
> 
> Used kscreenlocker_test: now my screens all go nicely black and then later on swap \
> to the greeter content. 
> 
> Thanks,
> 
> Martin Gräßlin
> 
> 


--===============7143159321510461845==
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/124948/">https://git.reviewboard.kde.org/r/124948/</a>
  </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: \
-pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Ship It!</pre>  <br />









<p>- Marco Martin</p>


<br />
<p>On August 27th, 2015, 8:48 a.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 Plasma.</div>
<div>By Martin Gräßlin.</div>


<p style="color: grey;"><i>Updated Aug. 27, 2015, 8:48 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
plasma-workspace
</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;">The background of the whole screen locker architecture is black. During \
starting the lockscreen there might be a frame with just the background. To prevent \
flickering let&#39;s better use black instead of the default white.

[screenlocker] Delay the async loading till first frame is rendered

For the screenlocker architecture to work it&#39;s crucial that the views
are shown as fast as possible with valid content. The OpenGL context
initializes with a copy of the current framebuffer (which is the unlocked
screen) and this is rendered as the first content of the lock screen
and stays visible till QtQuick has rendered a proper scene.

Initial rendering of our scene takes some time (&gt; 500 msec) in which
the unlocked screen stays visible, but the architecture thinks it&#39;s
already fully locked and e.g. starts suspending the system. This
can result in the system waking up with the screen looking as unlocked.

This change ensures that at least one frame is rendered properly before
starting to load the real scene in an async way. That&#39;s most likely just
the black background which means the screen is properly locked, even if
it is not the proper greeter yet. It&#39;s fine for the system to suspend in
this stage as the screen is properly black.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </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;">Used kscreenlocker_test: now my screens all go nicely \
black and then later on swap to the greeter content.</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>ksmserver/screenlocker/greeter/greeterapp.h <span style="color: \
grey">(ed278e492a9a237f65f4c1600360f84fb25bdad7)</span></li>

 <li>ksmserver/screenlocker/greeter/greeterapp.cpp <span style="color: \
grey">(b500ba44c2b483d7372ca46840152c90ef5f798c)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/124948/diff/" style="margin-left: \
3em;">View Diff</a></p>






  </td>
 </tr>
</table>







  </div>
 </body>
</html>


--===============7143159321510461845==--


[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