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

GTKEngine.nativeFinishPainting() method very slow when expending Tree Component.

XMLWordPrintable

      FULL PRODUCT VERSION :
      java version "1.7.0"
      Java(TM) SE Runtime Environment (build 1.7.0-b146)
      Java HotSpot(TM) 64-Bit Server VM (build 21.0-b16, mixed mode)

      also occurs with
      java version "1.6.0_25"
      Java(TM) SE Runtime Environment (build 1.6.0_25-b06)
      Java HotSpot(TM) 64-Bit Server VM (build 20.0-b11, mixed mode)


      ADDITIONAL OS VERSION INFORMATION :
      2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:24 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux


      EXTRA RELEVANT SYSTEM CONFIGURATION :
      Ubuntu 11.04
      ---Graphic Drivers --
      -RADEON(0): [DRI2] DRI driver: r600
      [ 5.050] (II) RADEON(0): Front buffer size: 7500K
      [ 5.050] (II) RADEON(0): VRAM usage limit set to 222199K
      [ 5.050] (==) RADEON(0): Backing store disabled
      [ 5.050] (II) RADEON(0): Direct rendering enabled
      [ 5.050] (II) RADEON(0): Setting EXA maxPitchBytes
      [ 5.050] (II) EXA(0): Driver allocated offscreen pixmaps
      [ 5.050] (II) EXA(0): Driver registered support for the following operations:
      [ 5.050] (II) Solid
      [ 5.050] (II) Copy
      [ 5.050] (II) Composite (RENDER acceleration)
      [ 5.050] (II) UploadToScreen
      [ 5.050] (II) DownloadFromScreen
      [ 5.050] (II) RADEON(0): Acceleration enabled
      [ 5.050] (==) RADEON(0): DPMS enabled
      [ 5.050] (==) RADEON(0): Silken mouse enabled
      [ 5.051] (II) RADEON(0): Set up textured video
      [ 5.051] (II) RADEON(0): RandR 1.2 enabled

      Also on Ubuntu 10.10 with Nvidia proprietary drivers.

      A DESCRIPTION OF THE PROBLEM :
      Use case: Working with Netbeans IDE, using GTK native look and feel as per default setup.
      Please see the original bug report https://netbeans.org/bugzilla/show_bug.cgi?id=199442

      While having numerous projects open in the Projects Pane view.
      Start to expand with the [+] on various nodes and drill down the tree structure.
      Eventually you will notice that the expanding is taking longer and longer till it becomes unbearable for even a single child element.
      Thankfully Netbeans has this neat build in profiler that self profiles itself.
      Using this tool i took a snapshot witch you can analyze from the netbeans issue i provided above.
      The analyzer revealed that the issue is in com.sun.java.swing.plaf.gtk.GTKEngine.nativeFinishPainting() method.
      By switching the look and feel to Ocean or Nimbus the slowness disappears for the same usecase.



      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Open netbeans
      create or open several maven projects.
      start navigating the tree structures in the Projects view and Files view, which are placed on the top left corner of the IDE.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Expected for the tree nodes to open with reasonable speed.
      ACTUAL -
      The expansion of the nodes become very slow. several magnitude slower compared to doing the same action with different look and feel ( ie: Ocean, Metal, Nimbus )

      ERROR MESSAGES/STACK TRACES THAT OCCUR :
      no exception recorded

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      Disable GTK look and feel and replace it with Nimbus or Ocean.
      However some applications set look and feel based on the desktop native look.

            vkarnauk Vladislav Karnaukhov
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: