I was thinking about https://bugs.openjdk.java.net/browse/JDK-8177635 and https://bugs.openjdk.java.net/browse/JDK-8090462

There is also https://bugs.openjdk.java.net/browse/JDK-8187955


On 4/19/18 3:02 PM, Nir Lisker wrote:
I think this is the issue: https://bugs.openjdk.java.net/browse/JDK-8088615. There's also https://bugs.openjdk.java.net/browse/JDK-8193445.

- Nir

On Thu, Apr 19, 2018 at 1:42 PM, David Grieve <david.gri...@oracle.com <mailto:david.gri...@oracle.com>> wrote:

    Resolving the relative size involves a lot of lookup. You have to
    go up the scene-graph from the child to find a font style. If you
    get to the root and haven't found a font style, then use the
    default font. Performance in this area could be vastly improved by
    passing the size from either a font style or the default font down
    the scene-graph as styles are evaluated. There are other style
    lookups that could benefit from this as well, resolving looked-up
    colors for example. I believe I created a bug for this a long time
    ago.



    On 4/19/18 5:57 AM, Dean Wookey wrote:

        Hi All,

        In our application we add and remove a lot of nodes to the
        scene graph
        regularly, and also make use of em font sizes to scale certain
        parts of our
        application. We've noticed performance issues when adding
        nodes to the
        scene, and it seems to be related to em sizes in our css.

        As a test we added a chain of 20 stackpanes to a root
        stackpane. On the
        root, we set a font size of 8pt via inline css. We then added
        and removed a
        new tableview from the deepest stackpane 500 times, waiting
        for the node to
        render after each add and remove.

        In each of the experiments, we compared adding tableviews
        without css and
        adding tableviews with an inline css font size of 8pt. We then
        tried
        setting different font sizes in the stackpane chain.

        I've attached sample code for these experiments.

        The results (on jdk 9.0.4 - jdk 10 was similar) are as follows:

        Setting a 1em font size on all stackpanes except the root.
        With font on tableview: 14707ms
        Without font on tableview: 27725ms

        Setting a 1em font size on the first child of the root only.
        With font on tableview: 14221ms
        Without font on tableview: 19187ms

        Using the original setup with no additional fonts.
        With font on tableview: 13990ms
        Without font on tableview: 13847ms

        It looks like using a relative font size has a large effect
        performance
        wise on descendant nodes. I would expect some amount of font
        size caching
        in the chain of stackpanes since I'm reusing the same chain and
        adding/removing nodes from that chain repeatedly.

        I'm not sure how valid my test is, or how much of an issue
        this really is
        in practice?

        Dean




Reply via email to