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

Out-of-memory: Webkit does not get [renderContent] callback for dirty rectangles.

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not an Issue
    • Icon: P2 P2
    • None
    • fx2.0
    • javafx

      1. WebNode contains an active content that is dynamically change (oracle.com is a good example)
      2. The dynamic content sends dirty regions to FX.
      3. FX producing the pulse events that is treated in [javafx.scene.web.WevView.handleStagePulse] method.
      4. Inside the method, to skip creating native rendering queue, we analyze an ability for FX to render the WebNode context by following construction
              boolean reallyVisible = impl_isTreeVisible()
                      && getScene() != null
                      && getScene().getWindow() != null
                      && getScene().getWindow().isShowing();
      We need to know about FX ability to render reported dirty regions. Elsewhere the native rendering queues will not be utilized inside
      com.sun.javafx.sg.prism.NGWebView.renderContent and will eat the memory.

      5. Described approach does not work any more for case when an application (sample [Browser] as an example) is minimized or screen saver is in action.

      We need the method that informs us inside the pulse about FX ability to render the dirty region inside [renderContent]. Above mentioned construction with [reallyVisible] seemed worked well in time of RT-12440 and RT-12439 fix.

            apikalev Andrey Pikalev
            uta Alexey Utkin (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported: