bug-classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug awt/26486] Graphics.fillRect extremely slow


From: fitzsim at redhat dot com
Subject: [Bug awt/26486] Graphics.fillRect extremely slow
Date: 7 Mar 2006 22:02:15 -0000


------- Comment #14 from fitzsim at redhat dot com  2006-03-07 22:02 -------
Here are the results I get with the attached patch, on JamVM.

With no explicit calls to XFlush:

$ java FillRect2
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)

$ java GameOfLife
 population= 1 generation= 100 iterations/sec= 6.737636437137852
 population= 1 generation= 200 iterations/sec= 6.938180808991882
 population= 1 generation= 300 iterations/sec= 6.969126768415918
 population= 1 generation= 400 iterations/sec= 6.8903741473162
 population= 1 generation= 500 iterations/sec= 6.889899407468651
 population= 1 generation= 600 iterations/sec= 7.198387561186294
 population= 1 generation= 700 iterations/sec= 7.002310762551642
 population= 1 generation= 800 iterations/sec= 6.9357747260368985
 population= 1 generation= 900 iterations/sec= 7.006235549639179
 population= 1 generation= 1000 iterations/sec= 6.970584134950509

$ java GameOfLifeAWT
 p= 1 g= 100 iterations/sec= 25.303643724696357 frames/sec= 25
 p= 1 g= 200 iterations/sec= 27.839643652561247 frames/sec= 27
 p= 1 g= 300 iterations/sec= 27.77777777777778 frames/sec= 27
 p= 1 g= 400 iterations/sec= 27.932960893854748 frames/sec= 27
 p= 1 g= 500 iterations/sec= 29.41176470588235 frames/sec= 29
 p= 1 g= 600 iterations/sec= 31.133250311332503 frames/sec= 31
 p= 1 g= 700 iterations/sec= 31.240237425804438 frames/sec= 31
 p= 1 g= 800 iterations/sec= 31.25 frames/sec= 31
 p= 1 g= 900 iterations/sec= 31.055900621118013 frames/sec= 31
 p= 1 g= 1000 iterations/sec= 31.08486167236556 frames/sec= 31

With calls to XFlush limited to a rate of 50 times per second:

$ java FillRect2
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 19 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 10 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)
paintComponent took 11 msec. (4097 fillRect calls)

$ java GameOfLife
 population= 1 generation= 100 iterations/sec= 6.78195998643608
 population= 1 generation= 200 iterations/sec= 6.939143709666228
 population= 1 generation= 300 iterations/sec= 7.004272606289836
 population= 1 generation= 400 iterations/sec= 6.971070059254095
 population= 1 generation= 500 iterations/sec= 7.016066792955869
 population= 1 generation= 600 iterations/sec= 7.0293828201883874
 population= 1 generation= 700 iterations/sec= 7.035812284528249
 population= 1 generation= 800 iterations/sec= 6.971070059254095
 population= 1 generation= 900 iterations/sec= 6.984215672579969
 population= 1 generation= 1000 iterations/sec= 6.973014434139879

$ java GameOfLifeAWT
 p= 1 g= 100 iterations/sec= 25.568908207619536 frames/sec= 25
 p= 1 g= 200 iterations/sec= 27.74694783573807 frames/sec= 27
 p= 1 g= 300 iterations/sec= 27.77777777777778 frames/sec= 27
 p= 1 g= 400 iterations/sec= 27.77777777777778 frames/sec= 27
 p= 1 g= 500 iterations/sec= 29.55082742316785 frames/sec= 29
 p= 1 g= 600 iterations/sec= 31.17206982543641 frames/sec= 31
 p= 1 g= 700 iterations/sec= 29.239766081871345 frames/sec= 28
 p= 1 g= 800 iterations/sec= 30.71253071253071 frames/sec= 30
 p= 1 g= 900 iterations/sec= 30.96934035305048 frames/sec= 30
 p= 1 g= 1000 iterations/sec= 31.210986267166042 frames/sec= 31

I'll post results for GCJ later.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26486





reply via email to

[Prev in Thread] Current Thread [Next in Thread]