D15514: [libbreezecommon] Use box blur instead of FFT blur

Vlad Zagorodniy noreply at phabricator.kde.org
Fri Sep 28 18:00:51 BST 2018


zzag updated this revision to Diff 42505.
zzag added a comment.


  Introduce BoxShadowRenderer helper
  
  BoxShadowRenderer is a helper to render box shadows. The main benefit of
  this class is that it takes care of allocating big enough shadow
  texture, so the resulting shadows are not clipped, etc. Also, conceptually,
  it makes sense to have it.
  
  The box blur implementation is based on AlphaBoxBlur from Firefox, which means
  that the resulting shadows look quite similar to what Firefox would render.
  
  With debug build, opened web browser (Firefox), and a text editor (VS Code),
  on average it takes less than 16ms to render decoration shadows for all sizes:
  
  - small: <1 ms
  - medium: 1-2ms
  - large: 5ms (+/- 1ms)
  - very large: 11ms (+/- 1ms)
  
  Things to do:
  
  - revise shadow params (shadows are rendered slightly differently now)
  - clean up the code

REPOSITORY
  R31 Breeze

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D15514?vs=42295&id=42505

BRANCH
  zzag/box-shadow-helper-box-blur

REVISION DETAIL
  https://phabricator.kde.org/D15514

AFFECTED FILES
  CMakeLists.txt
  cmake/Modules/FindFFTW.cmake
  kdecoration/breezedecoration.cpp
  kstyle/breezeshadowhelper.cpp
  libbreezecommon/CMakeLists.txt
  libbreezecommon/breezeboxshadowhelper.cpp
  libbreezecommon/breezeboxshadowhelper.h
  libbreezecommon/breezeboxshadowrenderer.cpp
  libbreezecommon/breezeboxshadowrenderer.h

To: zzag, #kwin, #plasma
Cc: cfeck, ngraham, abetts, plasma-devel, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180928/ee4c4202/attachment.html>


More information about the Plasma-devel mailing list