Review Request 119330: Convert FrameSvgItem to use 9 tiles instead of a big texture.

David Edmundson david at davidedmundson.co.uk
Thu Jul 17 21:24:22 UTC 2014



> On July 17, 2014, 11:21 a.m., David Edmundson wrote:
> > src/declarativeimports/core/framesvgitem.h, line 171
> > <https://git.reviewboard.kde.org/r/119330/diff/1/?file=290720#file290720line171>
> >
> >     We probably don't want these 2 public.

Edit: this whole class is not exported and we use these two from the node. Makes sense like this.


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/119330/#review62567
-----------------------------------------------------------


On July 17, 2014, 8:44 p.m., David Edmundson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/119330/
> -----------------------------------------------------------
> 
> (Updated July 17, 2014, 8:44 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-framework
> 
> 
> Description
> -------
> 
> Use FrameSVG as 9 tiles instead of uploading a big texture of the finished frame each time.
> 
> This also saves the cache being populated with full created frames in different sizes; which end up taking up space in the disk and shared memory cache as well as the GPU memory.
> 
> A code path falls back to the original uploading the entire texture if obscure settings are used, i.e overlay.
> 
> Benchmarks:
>  - apitrace when resizing a frame goes from an average of 7.6ms per frame of *CPU* time just for the swizzling and uploading to 1.4ms
>   
>  - GPU time also drops from 40us to 10us
> 
> Themes will need to remove stretch-borders (when we gain nothing from stretching; i.e Breeze) to get the most out of it. 
> 
> 
> Diffs
> -----
> 
>   src/declarativeimports/core/framesvgitem.cpp 8320212 
>   src/declarativeimports/core/svgitem.cpp 1ed0631 
>   src/plasma/framesvg.h dd6d8da 
>   src/plasma/framesvg.cpp fcc6809 
>   src/plasma/private/framesvg_p.h 8aceef2 
>   tests/dialog.qml PRE-CREATION 
>   tests/testborders.qml PRE-CREATION 
>   src/declarativeimports/core/framesvgitem.h e155f6a 
> 
> Diff: https://git.reviewboard.kde.org/r/119330/diff/
> 
> 
> Testing
> -------
> 
> Tested oxygen + breeze + some random (and ugly) themes from kde-look.
> 
> Theme changes work.
> 
> Everything looks the same; including the borders on oxygen.
> 
> 
> Thanks,
> 
> David Edmundson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140717/24ed64d1/attachment-0001.html>


More information about the Plasma-devel mailing list