> The way that you obtain your Graphics instance would be useful to know.
bi = new BufferedImage(400,400,BufferedImage.TYPE_INT_ARGB);
Graphics2D context = bi.createContext();
The thread dumps confirm my blocking issue (no profiler is running on the
server process)
"resin-tcp-connection-*:8080-25" daemon prio=10 tid=0x08bc9000 nid=0x4845
waiting for monitor entry [0x5c0ff000..0x5c0ffad0]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.java2d.pipe.DuctusRenderer.dropRasterizer(DuctusRenderer.java:55)
- waiting to lock <0x670aad28> (a java.lang.Class for
sun.java2d.pipe.DuctusRenderer)
at
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:109)
at sun.java2d.pipe.DuctusShapeRenderer.fill(DuctusShapeRenderer.java:49)
at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:142)
at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2364)
at
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1843)
"resin-tcp-connection-*:8080-51" daemon prio=10 tid=0x5e3e4c00 nid=0x4843
waiting for monitor entry [0x5c3ff000..0x5c3ffbd0]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.java2d.pipe.DuctusRenderer.getAlphaTile(DuctusRenderer.java:62)
- waiting to lock <0x670aad28> (a java.lang.Class for
sun.java2d.pipe.DuctusRenderer)
at
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:77)
at sun.java2d.pipe.DuctusShapeRenderer.fill(DuctusShapeRenderer.java:49)
at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:142)
at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2364)
at
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1843)
"resin-tcp-connection-*:8080-11" daemon prio=10 tid=0x5e69c400 nid=0x4834
waiting for monitor entry [0x5cafe000..0x5caff950]
java.lang.Thread.State: BLOCKED (on object monitor)
at sun.java2d.pipe.DuctusRenderer.getRasterizer(DuctusRenderer.java:45)
- waiting to lock <0x670aad28> (a java.lang.Class for
sun.java2d.pipe.DuctusRenderer)
at
sun.java2d.pipe.DuctusRenderer.createShapeRasterizer(DuctusRenderer.java:358)
at
sun.java2d.pipe.DuctusShapeRenderer.renderPath(DuctusShapeRenderer.java:57)
at sun.java2d.pipe.DuctusShapeRenderer.fill(DuctusShapeRenderer.java:49)
at sun.java2d.pipe.ValidatePipe.fill(ValidatePipe.java:142)
at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2364)
at
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1843)
"resin-tcp-connection-*:8080-53" daemon prio=10 tid=0x62e14400 nid=0x482e
runnable [0x5d2fe000..0x5d2ffc50]
java.lang.Thread.State: RUNNABLE
at sun.java2d.loops.TransformHelper.Transform(Native Method)
at sun.java2d.pipe.DrawImage.renderImageXform(DrawImage.java:446)
at sun.java2d.pipe.DrawImage.transformImage(DrawImage.java:251)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:63)
at sun.java2d.pipe.DrawImage.copyImage(DrawImage.java:982)
at sun.java2d.pipe.ValidatePipe.copyImage(ValidatePipe.java:168)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:2979)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3097)
at
com.foo.bar.renderer.DocumentRenderer.internalDrawShape(DocumentRenderer.java:1946)
I can provide the full threads dump if necessary.
Does anyone has a clue?
Regards,
Stéphane
[Message sent by forum member 'stephanenicoll' (stephanenicoll)]
http://forums.java.net/jive/thread.jspa?messageID=188497
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".