Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8089657

Extremely poor WebView performance with non-solid table cell borders

    Details

    • Type: Bug
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: 8, 9
    • Fix Version/s: tbd
    • Component/s: javafx
    • Environment:

      Observed in both Windows 7 and openSUSE 13, using an Oracle JDK 1.8.0_31.

      Hardware:
      Intel Core i5-2400 (4 x 3.1 GHz)
      8192 MB RAM
      Intel HD Graphics, 1760 MB, running in 1680x1050 resolution

      Description

      I am displaying a HTML page with CSS in a WebView.

      When using non-solid table cell borders (e.g. dotted or dashed) in relatively wide tables, the rendering performance is unbearably bad and blocks the whole UI. When using a solid border instead, everything is fine.

      The page I attach below takes about 30 seconds for me to render in a maximized window. When taking any action like scrolling, the page is re-rendered, taking the same amount of time and blocking the UI.

      When I pause the application with a debugger, you can clearly see that it's actually waiting for the renderer:
         java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
                    at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
                    at com.sun.javafx.tk.quantum.PaintCollector.waitForRenderingToComplete(PaintCollector.java:157)
                    at com.sun.javafx.tk.quantum.GlassScene.waitForRenderingToComplete(GlassScene.java:116)
                    at javafx.scene.Scene$ScenePulseListener.pulse(Scene.java:2376)
                    [...]

      As stated above, using a solid border instead works fine (as in much much more quickly).

      The Java code does not matter; a simple scene with just a WebView loading the page works to reproduce the problem.

      HTML page: http://pastebin.com/BycKjvZ0
      CSS: http://pastebin.com/SGcbz1Xv (name it "style.css" in the same directory).
      (The border in question is defined in the "table.listing td" selector.)

        Attachments

        1. style.css
          3 kB
        2. stylesolid.css
          3 kB
        3. test.html
          46 kB
        4. testsolid.html
          46 kB

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                duke J. Duke (Inactive)
              • Votes:
                2 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Imported: