[External] : Re: Preload fxml to avoid slow show()
Davide Perini
perini.davide at dpsoftware.org
Fri Aug 25 23:16:02 UTC 2023
I tried it, 99% of the heavy lift comes from FXML load.
I have 80Kb of FXML files, nothing particularly big,
I measured the laoding time on a 13900K CPU and it requires 1.8s.
Once loaded, I don't know how this is possible, my apps sucks 100MB more
RAM but after the first load,
opening/closing the tab pane is much faster.
I sincerely can't understand how a tabpane can suck 100MB od RAM and how
80Kb of FXML can require almoast 2 seconds to load
on the world fastest consumer CPU (single thread).
I see that there are dozens of similar threads on the internet so this
should be a known problem
and at this point, I think that I'm out of luck.
Thank you anyway,
Davide
Il 25/08/2023 23:55, Andy Goryachev ha scritto:
>
> Another suggestion might be to load tabs lazily. I don't think FXML
> "pre-loading" is possible.
>
> -andy
>
> *From: *Davide Perini <perini.davide at dpsoftware.org>
> *Date: *Friday, August 25, 2023 at 14:31
> *To: *Andy Goryachev <andy.goryachev at oracle.com>,
> openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
> *Subject: *[External] : Re: Preload fxml to avoid slow show()
>
> My tab pane is very complex with a lot of tabs,
> having an FXML is very welcomed.
>
> Thanks
> Davide
>
> Il 25/08/2023 16:45, Andy Goryachev ha scritto:
>
> You can try creating the scene graph programmatically, thus
> avoiding FXML entirely.
>
> -andy
>
> *From: *openjfx-dev <openjfx-dev-retn at openjdk.org>
> <mailto:openjfx-dev-retn at openjdk.org> on behalf of Davide Perini
> <perini.davide at dpsoftware.org> <mailto:perini.davide at dpsoftware.org>
> *Date: *Friday, August 25, 2023 at 00:45
> *To: *openjfx-dev at openjdk.org <openjfx-dev at openjdk.org>
> <mailto:openjfx-dev at openjdk.org>
> *Subject: *Preload fxml to avoid slow show()
>
> Hi,
> I have a tabpane with 15 tabs, every tab has his own controller
> and it's
> pretty crowded.
>
> On a 13900K CPU, show() method requires more than 750ms,
> this feels laggy...
>
> After the first show() call, loading the tab pane is much faster...
>
> Is there a way to "preload" an fxml?
>
> I tried to show() and hide() it immediately and it seems to help,
> but what is the best way to do it?
>
> Thanks
> Davide
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20230826/8f840a7a/attachment.htm>
More information about the openjfx-dev
mailing list