-
Bug
-
Resolution: Fixed
-
P4
-
6
-
b19
-
x86
-
solaris_10
-
Not verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2187027 | 6u21 | Dmitry Cherepanov | P3 | Resolved | Fixed | b01 |
FULL PRODUCT VERSION :
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Server VM (build 1.6.0_01-b06, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
SunOS sys1.nyc.deshaw.com 5.10 Generic_118855-31 i86pc i386 i86pc Solaris
A DESCRIPTION OF THE PROBLEM :
Applications perform more slowly when run with the -splash option, even after the splash screen goes away, or even when run with -splash:/dev/null.
The problem is especially noticeable when using a non-local X display.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile the attached code as TestTable.java. Run it with and without the -splash option:
java -splash:/dev/null TestTable Splash
java TestTable NoSplash
To see the effect, these should be run on a different machine than the one the X server is running on, so the X protocol has to actually go over the network. Either setting DISPLAY directly or tunnelling with ssh -Y works.
Move the scroll bar on each window. The one run with -splash is much slower.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I would expect both instances to run the same.
ACTUAL -
The one run with -splash runs much slower.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class TestTable
{
/**
* @param args The number of rows to display in String form.
*/
public static void main(String[] args)
{
if (args.length < 1) {
System.err.println("args: <title>");
System.exit(1);
}
JFrame frame = new JFrame(args[0]);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TableModel tableModel = new TestTableModel(1000);
JTable table = new JTable(tableModel);
JScrollPane scrollPane = new JScrollPane(table);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
/**
* A simple TableModel which exists simply to generate rows for the test.
*/
class TestTableModel extends AbstractTableModel
{
private int myRows;
TestTableModel(int rows)
{
myRows = rows;
}
public int getRowCount()
{
return myRows;
}
public int getColumnCount()
{
return 10;
}
public Object getValueAt(int row, int column)
{
return new Integer(row * 10 + column);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Don't use -splash.
java version "1.6.0_01"
Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
Java HotSpot(TM) Server VM (build 1.6.0_01-b06, mixed mode)
ADDITIONAL OS VERSION INFORMATION :
SunOS sys1.nyc.deshaw.com 5.10 Generic_118855-31 i86pc i386 i86pc Solaris
A DESCRIPTION OF THE PROBLEM :
Applications perform more slowly when run with the -splash option, even after the splash screen goes away, or even when run with -splash:/dev/null.
The problem is especially noticeable when using a non-local X display.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Compile the attached code as TestTable.java. Run it with and without the -splash option:
java -splash:/dev/null TestTable Splash
java TestTable NoSplash
To see the effect, these should be run on a different machine than the one the X server is running on, so the X protocol has to actually go over the network. Either setting DISPLAY directly or tunnelling with ssh -Y works.
Move the scroll bar on each window. The one run with -splash is much slower.
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
I would expect both instances to run the same.
ACTUAL -
The one run with -splash runs much slower.
REPRODUCIBILITY :
This bug can be reproduced always.
---------- BEGIN SOURCE ----------
import java.awt.*;
import javax.swing.*;
import javax.swing.table.*;
public class TestTable
{
/**
* @param args The number of rows to display in String form.
*/
public static void main(String[] args)
{
if (args.length < 1) {
System.err.println("args: <title>");
System.exit(1);
}
JFrame frame = new JFrame(args[0]);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TableModel tableModel = new TestTableModel(1000);
JTable table = new JTable(tableModel);
JScrollPane scrollPane = new JScrollPane(table);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
}
/**
* A simple TableModel which exists simply to generate rows for the test.
*/
class TestTableModel extends AbstractTableModel
{
private int myRows;
TestTableModel(int rows)
{
myRows = rows;
}
public int getRowCount()
{
return myRows;
}
public int getColumnCount()
{
return 10;
}
public Object getValueAt(int row, int column)
{
return new Integer(row * 10 + column);
}
}
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Don't use -splash.
- backported by
-
JDK-2187027 poor performance when using -splash option
-
- Resolved
-
- relates to
-
JDK-6495729 Splash screen: progress bar is very slow and lot of flickering in CDE
-
- Closed
-
-
JDK-6397447 Splash screen (-splash:splash.png) + text drag = KDE/GNOME freeze
-
- Resolved
-