Review Request 121219: Allow to load image in IconItem immediately

Kai Uwe Broulik kde at privat.broulik.de
Sun Nov 23 19:50:11 UTC 2014



> On Nov. 23, 2014, 2:33 nachm., Mark Gaiser wrote:
> > Why is there even a 150ms delay to begin with?
> 
> Kai Uwe Broulik wrote:
>     So it does not repeatedly re-render the image when eg. resizing an applet. It just scales the texture and then waits a bit until it re-renders it.
> 
> Mark Gaiser wrote:
>     Oke, that seems like a fair reason to delay rendering.
>     However, it sounds like you are fixing an issue by working around it. Sure, having this flag fixes the case where one wants to have an image rendered "directly", but what if one then resizes the applet that has the "immediate" property set to true? Then you probably get the "repeatedly re-render the image" case again.
>     
>     So i think your fix doesn't work as intended. Rather, the fixed delay it has now is imho the bug.
>     I don't know what a proper fix would be, but i can make an adjucated guess.
>     
>     The component "somehow" needs to be aware that it's part of a bigger component and is being resized. While it knows that it's being resized it should not update or update less frequently. When it knows that the component is not being resized, it can just immediately draw the source. That solution would solve all cases imho. I have no idea how to implement this. Perhaps a QPA task? or a window manager task? Or both?

> what if one then resizes the applet that has the "immediate" property set to true

Then that's clearly a client bug.

Another approach might be using QQmlParserStatus::componentComplete() to delay the load until all the static bindings have been evaluated (which also contain the parent's size in case it's dependent on that) and then immediately load the image rather than *always* after 150ms which causes the flicker I mentioned in the OSD.


- Kai Uwe


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


On Nov. 23, 2014, 2:14 nachm., Kai Uwe Broulik wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121219/
> -----------------------------------------------------------
> 
> (Updated Nov. 23, 2014, 2:14 nachm.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: plasma-framework
> 
> 
> Description
> -------
> 
> This adds an "immediate" property to IconItem which makes it load the icon immediately, rather than after a 150ms delay. This is handy for clients which just show an icon in a fixed size.
> 
> 
> Diffs
> -----
> 
>   src/declarativeimports/core/iconitem.h 8aecd17 
>   src/declarativeimports/core/iconitem.cpp ed3bb97 
> 
> Diff: https://git.reviewboard.kde.org/r/121219/diff/
> 
> 
> Testing
> -------
> 
> When I add "immediate: true" to the OSD's IconItem the icon appears right away when changing brightness or volume rather than after a short flicker. Resizing applets on the desktop still has it scale them up and reload later.
> 
> 
> Thanks,
> 
> Kai Uwe Broulik
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20141123/18192e5b/attachment.html>


More information about the Plasma-devel mailing list