United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6613563 D3D: Netbeans 6.0 is slower with the pipeline
JDK-6613563 : D3D: Netbeans 6.0 is slower with the pipeline

Details
Type:
Bug
Submit Date:
2007-10-05
Status:
Closed
Updated Date:
2010-10-14
Project Name:
JDK
Resolved Date:
2007-11-07
Component:
client-libs
OS:
windows_xp
Sub-Component:
2d
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
6,6u5
Fixed Versions:
6u10 (b07)

Related Reports

Sub Tasks

Description
There have been reports that NB6 feels slower with the new
pipeline: tab switching, scrolling.

One hw config where this was reported:
[I] CheckAdaptersInfo
[I] ------------------
[I] Adapter Ordinal  : 0
[I] Description      : NVIDIA Quadro NVS 110M
[I] GDI Name, Driver : \\.\DISPLAY1, nvd3dum.dll
[I] Vendor Id        : 0x10de
[I] Version          : 7.15.11.144
[I] ------------------
[I] Adapter Ordinal  : 1
[I] Description      : NVIDIA Quadro NVS 110M
[I] GDI Name, Driver : \\.\DISPLAY2, nvd3dum.dll
[I] Vendor Id        : 0x10de
[I] Version          : 7.15.11.144
[I] ------------------
[I] InitD3D: successfully created Direct3D9 object
[I] D3DGD_getDeviceCapsNative
[I] D3DPPLM::CheckDeviceCaps: device 0: Passed
[I] D3DContext::InitContext device 0
[I] D3DContext::ConfigureContext device 0
[I] D3DContext::ConfigureContext: successfully created device: 0
[I] D3DContext::InitDevice: device 0
[I] D3DContext::InitDefice: successfully initialized device 0
[V]   | CAPS_DEVICE_OK
[V]   | CAPS_ALPHA_RT_PLAIN
[V]   | CAPS_ALPHA_RTT
[V]   | CAPS_OPAQUE_RTT
[V]   | CAPS_LCD_SHADER | CAPS_BIOP_SHADER
[V]   | CAPS_MULTITEXTURE
[V]   | CAPS_TEXNONPOW2
[V]   | CAPS_TEXNONSQUARE
[I] D3DGD_getDeviceCapsNative
[I] D3DPPLM::CheckDeviceCaps: device 1: Passed
[I] D3DContext::InitContext device 1
[I] D3DContext::ConfigureContext device 1
[I] D3DContext::ConfigureContext: successfully created device: 1
[I] D3DContext::InitDevice: device 1
[I] D3DContext::InitDefice: successfully initialized device 1
[V]   | CAPS_DEVICE_OK
[V]   | CAPS_ALPHA_RT_PLAIN
[V]   | CAPS_ALPHA_RTT
[V]   | CAPS_OPAQUE_RTT
[V]   | CAPS_LCD_SHADER | CAPS_BIOP_SHADER
[V]   | CAPS_MULTITEXTURE
[V]   | CAPS_TEXNONPOW2
[V]   | CAPS_TEXNONSQUARE

                                    

Comments
EVALUATION

While looking at another issue reported on java2d-interest
I believe I found the cause of the slowness:

Quote:
  OK, I figured it out. The problem basically boils down to
  what kind of text is rendered by the application first -
  lcd antialiased or regular grayscale AA.

  Depending on that we create a glyph cache in video memory
  where we cache glyphs to be rendered.

  If the first text to be rendered happens to be grayscale AA -
  the cache will be initialized for grayscale glyphs,
  otherwise - LCD. And since we don't switch from one cache type
  to another if first you rendered a single grayscale AA glyph,
  all following LCD-AA glyphs will be rendered without the use
  of cache which is slow..

  And if the first window is created < 150 pixels we do not use
  the d3d pipeline for rendering to such window so it doesn't
  matter what kind of text is rendered there - the rest of Swing
  renders using LCD AA.

  I am pretty sure it is the same problem with netbeans.

  Now I'll need to come up with the fix - probably
  different caches for lcd and grayscale glyphs.
                                     
2007-10-11
SUGGESTED FIX

http://sa.sfbay.sun.com/projects/java2d_data/6u5/6613563.0
                                     
2007-10-23



Hardware and Software, Engineered to Work Together