> 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
> 
>

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to