Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » e(fx)clipse » setVisible performance on MPart or MPartStack
setVisible performance on MPart or MPartStack [message #1696632] Wed, 27 May 2015 14:48 Go to next message
Bastien Bart is currently offline Bastien BartFriend
Messages: 21
Registered: May 2014
Junior Member
Hi,

for our application we need to hide/show views/partstacks dynamically with a fake min/max behavior.

We have the impression that the method setVisible(true) on a MPart with many controls or on a MPartStack with many views has performance issues. It can take a few seconds before yhe view is back displayed.

We try to use the setToBeRendered method instead but it tryes to reinstatiate the view and the context doesn't contain the needed objects.

Does someone has this problem too or a way to solve it?

Thx
Re: setVisible performance on MPart or MPartStack [message #1696635 is a reply to message #1696632] Wed, 27 May 2015 15:00 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
setVisible(false) will detach the nodes from the scenegraph and when you
call setVisible(true) they will be reattached and:
* a full layout pass
* a full css pass

has to be done.

We found in other applications that the CSS pass is very very expensive

Did you try launching with -Djavafx.pulseLogger=false to see if this is
the problem. I guess we could instead of removing:
a) set visible to false
b) set managed to false

and this way leave the node in the scenegraph but this would need a
major rework in the renderers which certainly is out of scope for 2.0 at
this point.

Tom

On 27.05.15 16:48, Bastien Bart wrote:
> Hi,
>
> for our application we need to hide/show views/partstacks dynamically
> with a fake min/max behavior.
>
> We have the impression that the method setVisible(true) on a MPart with
> many controls or on a MPartStack with many views has performance issues.
> It can take a few seconds before yhe view is back displayed.
>
> We try to use the setToBeRendered method instead but it tryes to
> reinstatiate the view and the context doesn't contain the needed objects.
>
> Does someone has this problem too or a way to solve it?
>
> Thx
Re: setVisible performance on MPart or MPartStack [message #1696639 is a reply to message #1696635] Wed, 27 May 2015 15:10 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
What's certainly and option is to roll your own SashRenderer who
specializes hideChild() but I have not looked too deep into this.

If you are interested in our commercial services you can of course get
in touch with our company so that we can role a private or public
extension for you!

Tom

On 27.05.15 17:00, Tom Schindl wrote:
> setVisible(false) will detach the nodes from the scenegraph and when you
> call setVisible(true) they will be reattached and:
> * a full layout pass
> * a full css pass
>
> has to be done.
>
> We found in other applications that the CSS pass is very very expensive
>
> Did you try launching with -Djavafx.pulseLogger=false to see if this is
> the problem. I guess we could instead of removing:
> a) set visible to false
> b) set managed to false
>
> and this way leave the node in the scenegraph but this would need a
> major rework in the renderers which certainly is out of scope for 2.0 at
> this point.
>
> Tom
>
> On 27.05.15 16:48, Bastien Bart wrote:
>> Hi,
>>
>> for our application we need to hide/show views/partstacks dynamically
>> with a fake min/max behavior.
>>
>> We have the impression that the method setVisible(true) on a MPart with
>> many controls or on a MPartStack with many views has performance issues.
>> It can take a few seconds before yhe view is back displayed.
>>
>> We try to use the setToBeRendered method instead but it tryes to
>> reinstatiate the view and the context doesn't contain the needed objects.
>>
>> Does someone has this problem too or a way to solve it?
>>
>> Thx
>
Re: setVisible performance on MPart or MPartStack [message #1696734 is a reply to message #1696639] Thu, 28 May 2015 09:39 Go to previous messageGo to next message
Bastien Bart is currently offline Bastien BartFriend
Messages: 21
Registered: May 2014
Junior Member
I've made my own SashRenderer and it works (override removeItem and addItems methods)

Thanks a lot for your help Tom

Bastien
Re: setVisible performance on MPart or MPartStack [message #1696737 is a reply to message #1696734] Thu, 28 May 2015 09:55 Go to previous messageGo to next message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Good so my assumption of CSS & Layout pass eating the time was the
correct one?

More things to consider (they might not apply to your special use case
where it might happen that those actions don't happen will you are in
max mode):
* You need to take care that they are naturally also called if you
setToBeRendered = false to really wipe the item from the container
* IIRC we calculate the insert index in appropriately if you have not
removed the items
* A hide can also happen because of the visibleWhen clause going to
false

It would be nice if you could file a feature request so that we can look
into this topic in 2.1.

If I got you right your use case is to create a similar behavior we see
as Min/Max in SWT renderers.

I hope we can one day really add this missing feature but I would
implement that one then differently - the trick I'd use is to take the
DOM-Section that needs to maximized out of the STATIC-LAYOUT node and
reparent it eg on the window or perspective container - this would allow
us to apply transitions ;-) So I would not need the
setVisible(true/false) trickery.


Tom

On 28.05.15 11:39, Bastien Bart wrote:
> I've made my own SashRenderer and it works (override removeItem and
> addItems methods)
>
> Thanks a lot for your help Tom
>
> Bastien
Re: setVisible performance on MPart or MPartStack [message #1696754 is a reply to message #1696737] Thu, 28 May 2015 12:12 Go to previous messageGo to next message
Bastien Bart is currently offline Bastien BartFriend
Messages: 21
Registered: May 2014
Junior Member
Yes your assumption was the correct one.
Where do I file my feature request? https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Efxclipse there?

Thanks again
Re: setVisible performance on MPart or MPartStack [message #1696755 is a reply to message #1696754] Thu, 28 May 2015 12:17 Go to previous message
Thomas Schindl is currently offline Thomas SchindlFriend
Messages: 6651
Registered: July 2009
Senior Member
Yes

Tom
On 28.05.15 14:12, Bastien Bart wrote:
> Yes your assumption was the correct one.
> Where do I file my feature request?
> https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Efxclipse there?
>
> Thanks again
Previous Topic:AdapterFactoryObservableList not responsive to changes in the underlying model ?
Next Topic:Problems accessing IDE tooling with Eclipse Mars
Goto Forum:
  


Current Time: Tue Apr 16 21:16:26 GMT 2024

Powered by FUDForum. Page generated in 0.67245 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top