Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6439320
Votes 0
Synopsis OGL: enable sun.java2d.opengl.fbobject by default
Category java:classes_2d
Reported Against
Release Fixed mustang(b92)
State 10-Fix Delivered, bug
Priority: 2-High
Related Bugs 5066318
Submit Date 15-JUN-2006
Description
In 6255507 we added a new codepath to the OGL pipeline that uses framebuffer objects
(FBOs) instead of pbuffers.  There are many benefits to using FBOs:
  - platform independent render-to-texture API
  - improved blitting performance
  - can transform/blend/etc just like regular textures, unlike pbuffers
  - can avoid expensive context switches in many cases

SwingMark numbers are improved anywhere from 10-15% (depending on the hardware) when
using the FBO codepath instead of the default pbuffer-based one.  Unfortunately though
when we fixed 6255507 the extension was still relatively new and there were driver
bugs that prevented us from enabling the FBO codepath by default.  The purpose of this
bug report is to discuss the resolved/remaining barriers and to provide a vehicle
for enabling the FBO codepath by default for the best out-of-box performance
experience.
Posted Date : 2006-06-15 18:39:34.0
Work Around
N/A
Evaluation
Currently the biggest obstacle to enabling the FBO codepath by default is
documented in 6298243, where copyArea() operations are extemely slow for FBO
destinations on Nvidia nv3x hardware (GeForce FX 5xxx series), which makes
scrolling/dragging unusable in Swing applications on those boards.  We plan to
workaround that driver/hardware issue under 6298243, which would eliminate the
barrier for Nvidia boards.  (Update: the fix for 6298243 has been putback into
the Java2D workspace, and is targetted for b92 along with the fix for 6439320.)

In addition to the above driver issue, Nvidia has recently broken our FBO codepath
in their latest 84.21 driver release (only affects Windows).  However, they have
fixed this problem in their next driver release (whatever comes after 91.31),
so this was just a small blip.  Once we turn on the FBO codepath by default with
this bug fix, if you have the 84.21 drivers installed, you can do one of three
things to work around the problem:
  - upgrade to 91.xx when it becomes available (highly recommended)
  - downgrade to 81.95 or an earlier Nvidia driver release
  - disable the FBO codepath using -Dsun.java2d.opengl.fbobject=false
Posted Date : 2006-06-22 17:59:43.0

Another benefit to enabling the FBO codepath by default is that it works
around a number of bugs in ATI's driver support for pbuffers, specifically:
  5033205: OGL with Java2Demo and Radeon not displaying application demos properly
  5066318: OGL: Enabling OGL pipeline on Windows with ATI board crashes VM at exit
  6357499: OGL crashed with resizing Java2Demo Frame on Radeon 9800XT
Posted Date : 2006-06-19 16:29:33.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang