Skip to main content

[JAVA2D] Java 2d performance

12 replies [Last post]
Anonymous

I am developing a game using java2d. I had a GEForce4 MX 440, and I was
getting about 40 fps. A few days ago I update to a GEForce 6600, and
even if I was thinking I would get a major fps increase it droped to
abou 30fps.

Any ideas why it happens (or if there is something wrong with my
configuration...)?

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Niclas Hedhman

On Monday 24 October 2005 02:58, Bira Neto wrote:
> I am developing a game using java2d. I had a GEForce4 MX 440, and I was
> getting about 40 fps. A few days ago I update to a GEForce 6600, and
> even if I was thinking I would get a major fps increase it droped to
> abou 30fps.
>
> Any ideas why it happens (or if there is something wrong with my
> configuration...)?

Could it be that the previous card was more optimized for 2D operations than
the second card, which is spending all available silicon real-estate on 3D
performance???

Is it possible for you to make similar measurement in non-Java applications??

Cheers
Niclas

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Dmitri Trembovetski

Hi Bira,

could you provide mode details? Which releae are you using? What
platform/os?

Are you setting any jav2d-related flags/properties?

Also, w/o knowing what your application is doing it'd be hard to
guess what could be wrong.

Thanks,
Dmitri

On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
> I am developing a game using java2d. I had a GEForce4 MX 440, and I was
> getting about 40 fps. A few days ago I update to a GEForce 6600, and
> even if I was thinking I would get a major fps increase it droped to
> abou 30fps.
>
> Any ideas why it happens (or if there is something wrong with my
> configuration...)?
>
> ===========================================================================
> To unsubscribe, send email to listserv@java.sun.com and include in the body
> of the message "signoff JAVA2D-INTEREST". For general help, send email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Bira Neto

Hi, I took a little time trying to update my drivers, for video card, mb
bios, etc. I managed to achieve the same performance I was getting in
the old system, so it probably was a driver issue.

I still have some doubts.
I'm using Windows XP and a MSI NX6600 video card on a semprom 2600@1800.
The game is being tested with Java 1.5.4
The game consists of 500x500 tiled sprites as the background with a few
others 150x150 sprites running over them.

The game performance is
~41fps@800x600 windowed, (65 fps lock)
~15fps@800x600 fullscreen, (65 fps lock)

Fullscreen is slower than windowed (this one gets me a little confused)
Filling background (fillrect(0 , 0, 800, 600) ) causes the bad
performance above.

Without the fillrect method (that was called just once per frame)
~65fps@800x600 windowed (65 fps lock)
~60fps@800x600 fullscreen (65 fps lock)

My doubts are

Is fullscreen slower than windowed? If so, is the reason portability?

The fillRect isn't hardware accelerated? If it's not, could it be?

Bira

Dmitri Trembovetski wrote:

> Hi Bira,
>
> could you provide mode details? Which releae are you using? What
> platform/os?
>
> Are you setting any jav2d-related flags/properties?
>
> Also, w/o knowing what your application is doing it'd be hard to
> guess what could be wrong.
>
> Thanks,
> Dmitri
>
>
>
>On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
> > I am developing a game using java2d. I had a GEForce4 MX 440, and I was
> > getting about 40 fps. A few days ago I update to a GEForce 6600, and
> > even if I was thinking I would get a major fps increase it droped to
> > abou 30fps.
> >
> > Any ideas why it happens (or if there is something wrong with my
> > configuration...)?
> >
> > ===========================================================================
> > To unsubscribe, send email to listserv@java.sun.com and include in the body
> > of the message "signoff JAVA2D-INTEREST". For general help, send email to
> > listserv@java.sun.com and include in the body of the message "help".
>
>===========================================================================
>To unsubscribe, send email to listserv@java.sun.com and include in the body
>of the message "signoff JAVA2D-INTEREST". For general help, send email to
>listserv@java.sun.com and include in the body of the message "help".
>
>
>
>

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Dmitri Trembovetski

Hi Bira,

On Sat, Oct 29, 2005 at 07:55:55PM -0300, Bira Neto wrote:
> Hi, I took a little time trying to update my drivers, for video card, mb
> bios, etc. I managed to achieve the same performance I was getting in
> the old system, so it probably was a driver issue.
>
> I still have some doubts.
> I'm using Windows XP and a MSI NX6600 video card on a semprom 2600@1800.
> The game is being tested with Java 1.5.4
> The game consists of 500x500 tiled sprites as the background with a few
> others 150x150 sprites running over them.
>
> The game performance is
> ~41fps@800x600 windowed, (65 fps lock)
> ~15fps@800x600 fullscreen, (65 fps lock)
>
> Fullscreen is slower than windowed (this one gets me a little confused)
> Filling background (fillrect(0 , 0, 800, 600) ) causes the bad
> performance above.
>
> Without the fillrect method (that was called just once per frame)
> ~65fps@800x600 windowed (65 fps lock)
> ~60fps@800x600 fullscreen (65 fps lock)
>
> My doubts are
>
> Is fullscreen slower than windowed? If so, is the reason portability?

The reason you're getting 60fps in full screen mode is that the
buffer swap is synch-ed to the refresh rate of the monitor. Change
your display mode to 75 Hz, and you'll get a 75fps (or half as that
if your rendering can't keep up).

> The fillRect isn't hardware accelerated? If it's not, could it be?

It sure is, but only for opaque colors. Do you fill with a
translucent color by any chance?
Could you run your application with -Dsun.java2d.trace=count (this
will print the count of rendering primitives used by Java2D at the
program exit) with and w/o the fill rect, and send the results?

Thanks,
Dmitri
Java2D Team

>
> Bira
>
>
>
> Dmitri Trembovetski wrote:
>
> > Hi Bira,
> >
> > could you provide mode details? Which releae are you using? What
> > platform/os?
> >
> > Are you setting any jav2d-related flags/properties?
> >
> > Also, w/o knowing what your application is doing it'd be hard to
> > guess what could be wrong.
> >
> > Thanks,
> > Dmitri
> >
> >
> >
> >On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
> >> I am developing a game using java2d. I had a GEForce4 MX 440, and I was
> >> getting about 40 fps. A few days ago I update to a GEForce 6600, and
> >> even if I was thinking I would get a major fps increase it droped to
> >> abou 30fps.
> >>
> >> Any ideas why it happens (or if there is something wrong with my
> >> configuration...)?
> >>
> >>
> >===========================================================================
> >> To unsubscribe, send email to listserv@java.sun.com and include in the
> >body
> >> of the message "signoff JAVA2D-INTEREST". For general help, send email
> >to
> >> listserv@java.sun.com and include in the body of the message "help".
> >
> >===========================================================================
> >To unsubscribe, send email to listserv@java.sun.com and include in the body
> >of the message "signoff JAVA2D-INTEREST". For general help, send email to
> >listserv@java.sun.com and include in the body of the message "help".
> >
> >
> >
> >
>
> ===========================================================================
> To unsubscribe, send email to listserv@java.sun.com and include in the body
> of the message "signoff JAVA2D-INTEREST". For general help, send email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Bira Neto

I set my program to render 10 frames and exit
First execution, with the following code (backgroundColor=Color.BLACK)

if(backgroundColor!=null){
g.setBackground(backgroundColor);
g.clearRect(0,0,800,600);
g.setBackground(null);
}

I also tried fillRect, but with the same performance
if(backgroundColor!=null){
g.setColor(backgroundColor);
g.fillRect(0,0,800,600);
}

59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa, IntRgb)
7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha, IntArgbBm)
14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, IntRgb)
7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
SrcOverNoEa, IntArgbBm)
7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor, SrcNoEa, Any)
5040 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src, IntRgb)
13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa, IntRgb)
7 calls to
sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any, SrcNoEa,
"Integer RGB DirectDraw with 1 bit transp")
11 calls to DDFillRect
7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
SrcOverNoEa, IntArgbBm)
113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB DirectDraw")
7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa, IntArgbBm)
1579 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
6891 total calls to 15 different primitives

This time I removed the code to fill the background

7 calls to
sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any, SrcNoEa,
"Integer RGB DirectDraw with 1 bit transp")
14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, IntRgb)
13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa, IntRgb)
59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
290 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src, IntRgb)
7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha, IntArgbBm)
113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB DirectDraw")
7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
SrcOverNoEa, IntArgbBm)
13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa, IntRgb)
13 calls to DDFillRect
7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
SrcOverNoEa, IntArgbBm)
7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor, SrcNoEa, Any)
7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa, IntArgbBm)
1580 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
2144 total calls to 15 different primitives

Looks like the problem is the MaskBlit
The fill color is solid. Maybe I used something somewhere else? What
could have caused the fillRect function to cause so many MaskFills?

anyway, thanks for your help
Bira

Dmitri Trembovetski wrote:

> Hi Bira,
>
>On Sat, Oct 29, 2005 at 07:55:55PM -0300, Bira Neto wrote:
> > Hi, I took a little time trying to update my drivers, for video card, mb
> > bios, etc. I managed to achieve the same performance I was getting in
> > the old system, so it probably was a driver issue.
> >
> > I still have some doubts.
> > I'm using Windows XP and a MSI NX6600 video card on a semprom 2600@1800.
> > The game is being tested with Java 1.5.4
> > The game consists of 500x500 tiled sprites as the background with a few
> > others 150x150 sprites running over them.
> >
> > The game performance is
> > ~41fps@800x600 windowed, (65 fps lock)
> > ~15fps@800x600 fullscreen, (65 fps lock)
> >
> > Fullscreen is slower than windowed (this one gets me a little confused)
> > Filling background (fillrect(0 , 0, 800, 600) ) causes the bad
> > performance above.
> >
> > Without the fillrect method (that was called just once per frame)
> > ~65fps@800x600 windowed (65 fps lock)
> > ~60fps@800x600 fullscreen (65 fps lock)
> >
> > My doubts are
> >
> > Is fullscreen slower than windowed? If so, is the reason portability?
>
> The reason you're getting 60fps in full screen mode is that the
> buffer swap is synch-ed to the refresh rate of the monitor. Change
> your display mode to 75 Hz, and you'll get a 75fps (or half as that
> if your rendering can't keep up).
>
> > The fillRect isn't hardware accelerated? If it's not, could it be?
>
> It sure is, but only for opaque colors. Do you fill with a
> translucent color by any chance?
> Could you run your application with -Dsun.java2d.trace=count (this
> will print the count of rendering primitives used by Java2D at the
> program exit) with and w/o the fill rect, and send the results?
>
> Thanks,
> Dmitri
> Java2D Team
>
>
>
> >
> > Bira
> >
> >
> >
> > Dmitri Trembovetski wrote:
> >
> > > Hi Bira,
> > >
> > > could you provide mode details? Which releae are you using? What
> > > platform/os?
> > >
> > > Are you setting any jav2d-related flags/properties?
> > >
> > > Also, w/o knowing what your application is doing it'd be hard to
> > > guess what could be wrong.
> > >
> > > Thanks,
> > > Dmitri
> > >
> > >
> > >
> > >On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
> > >> I am developing a game using java2d. I had a GEForce4 MX 440, and I was
> > >> getting about 40 fps. A few days ago I update to a GEForce 6600, and
> > >> even if I was thinking I would get a major fps increase it droped to
> > >> abou 30fps.
> > >>
> > >> Any ideas why it happens (or if there is something wrong with my
> > >> configuration...)?
> > >>
> > >>
> > >===========================================================================
> > >> To unsubscribe, send email to listserv@java.sun.com and include in the
> > >body
> > >> of the message "signoff JAVA2D-INTEREST". For general help, send email
> > >to
> > >> listserv@java.sun.com and include in the body of the message "help".
> > >
> > >===========================================================================
> > >To unsubscribe, send email to listserv@java.sun.com and include in the body
> > >of the message "signoff JAVA2D-INTEREST". For general help, send email to
> > >listserv@java.sun.com and include in the body of the message "help".
> > >
> > >
> > >
> > >
> >
> > ===========================================================================
> > To unsubscribe, send email to listserv@java.sun.com and include in the body
> > of the message "signoff JAVA2D-INTEREST". For general help, send email to
> > listserv@java.sun.com and include in the body of the message "help".
>
>===========================================================================
>To unsubscribe, send email to listserv@java.sun.com and include in the body
>of the message "signoff JAVA2D-INTEREST". For general help, send email to
>listserv@java.sun.com and include in the body of the message "help".
>
>
>
>

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Chris Campbell

Hi Bira,

> The fill color is solid. Maybe I used something somewhere else? What
> could have caused the fillRect function to cause so many MaskFills?

I suspect that you have the antialiasing RenderingHint enabled when you
clear the background. Antialiasing has no real visual effect on
fillRect() (or clearRect()), so you will definitely get better
performance if you disable antialising for that operation.

Chris

On Oct 30, 2005, at 4:37 PM, Bira Neto wrote:
> I set my program to render 10 frames and exit
> First execution, with the following code (backgroundColor=Color.BLACK)
>
> if(backgroundColor!=null){
> g.setBackground(backgroundColor);
> g.clearRect(0,0,800,600);
> g.setBackground(null);
> }
>
> I also tried fillRect, but with the same performance
> if(backgroundColor!=null){
> g.setColor(backgroundColor);
> g.fillRect(0,0,800,600);
> }
>
> 59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
> 13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa,
> IntRgb)
> 7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha,
> IntArgbBm)
> 14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, IntRgb)
> 7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
> SrcOverNoEa, IntArgbBm)
> 7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor,
> SrcNoEa, Any)
> 5040 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src,
> IntRgb)
> 13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa, IntRgb)
> 7 calls to
> sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any, SrcNoEa,
> "Integer RGB DirectDraw with 1 bit transp")
> 11 calls to DDFillRect
> 7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
> SrcOverNoEa, IntArgbBm)
> 113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
> DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB DirectDraw")
> 7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
> 7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa, IntArgbBm)
> 1579 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
> DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
> 6891 total calls to 15 different primitives
>
> This time I removed the code to fill the background
>
> 7 calls to
> sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any, SrcNoEa,
> "Integer RGB DirectDraw with 1 bit transp")
> 14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, IntRgb)
> 13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa,
> IntRgb)
> 59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
> 290 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src, IntRgb)
> 7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha,
> IntArgbBm)
> 113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
> DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB DirectDraw")
> 7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
> SrcOverNoEa, IntArgbBm)
> 13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa, IntRgb)
> 13 calls to DDFillRect
> 7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
> SrcOverNoEa, IntArgbBm)
> 7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor,
> SrcNoEa, Any)
> 7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
> 7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa, IntArgbBm)
> 1580 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
> DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
> 2144 total calls to 15 different primitives
>
> Looks like the problem is the MaskBlit
> The fill color is solid. Maybe I used something somewhere else? What
> could have caused the fillRect function to cause so many MaskFills?
>
> anyway, thanks for your help
> Bira
>
>
>
> Dmitri Trembovetski wrote:
>
>> Hi Bira,
>>
>> On Sat, Oct 29, 2005 at 07:55:55PM -0300, Bira Neto wrote:
>> > Hi, I took a little time trying to update my drivers, for video
>> card, mb
>> > bios, etc. I managed to achieve the same performance I was getting
>> in
>> > the old system, so it probably was a driver issue.
>> >
>> > I still have some doubts.
>> > I'm using Windows XP and a MSI NX6600 video card on a semprom
>> 2600@1800.
>> > The game is being tested with Java 1.5.4
>> > The game consists of 500x500 tiled sprites as the background with a
>> few
>> > others 150x150 sprites running over them.
>> >
>> > The game performance is
>> > ~41fps@800x600 windowed, (65 fps lock)
>> > ~15fps@800x600 fullscreen, (65 fps lock)
>> >
>> > Fullscreen is slower than windowed (this one gets me a little
>> confused)
>> > Filling background (fillrect(0 , 0, 800, 600) ) causes the bad
>> > performance above.
>> >
>> > Without the fillrect method (that was called just once per frame)
>> > ~65fps@800x600 windowed (65 fps lock)
>> > ~60fps@800x600 fullscreen (65 fps lock)
>> >
>> > My doubts are
>> >
>> > Is fullscreen slower than windowed? If so, is the reason
>> portability?
>>
>> The reason you're getting 60fps in full screen mode is that the
>> buffer swap is synch-ed to the refresh rate of the monitor. Change
>> your display mode to 75 Hz, and you'll get a 75fps (or half as that
>> if your rendering can't keep up).
>>
>> > The fillRect isn't hardware accelerated? If it's not, could it be?
>>
>> It sure is, but only for opaque colors. Do you fill with a
>> translucent color by any chance?
>> Could you run your application with -Dsun.java2d.trace=count (this
>> will print the count of rendering primitives used by Java2D at the
>> program exit) with and w/o the fill rect, and send the results?
>>
>> Thanks,
>> Dmitri
>> Java2D Team
>>
>>
>>
>> >
>> > Bira
>> >
>> >
>> >
>> > Dmitri Trembovetski wrote:
>> >
>> > > Hi Bira,
>> > >
>> > > could you provide mode details? Which releae are you using? What
>> > > platform/os?
>> > >
>> > > Are you setting any jav2d-related flags/properties?
>> > >
>> > > Also, w/o knowing what your application is doing it'd be hard to
>> > > guess what could be wrong.
>> > >
>> > > Thanks,
>> > > Dmitri
>> > >
>> > >
>> > >
>> > >On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
>> > >> I am developing a game using java2d. I had a GEForce4 MX 440,
>> and I was
>> > >> getting about 40 fps. A few days ago I update to a GEForce 6600,
>> and
>> > >> even if I was thinking I would get a major fps increase it
>> droped to
>> > >> abou 30fps.
>> > >>
>> > >> Any ideas why it happens (or if there is something wrong with my
>> > >> configuration...)?
>> > >>
>> > >>
>> >
>> >=====================================================================
>> ======
>> > >> To unsubscribe, send email to listserv@java.sun.com and include
>> in the
>> > >body
>> > >> of the message "signoff JAVA2D-INTEREST". For general help,
>> send email
>> > >to
>> > >> listserv@java.sun.com and include in the body of the message
>> "help".
>> > >
>> >
>> >=====================================================================
>> ======
>> > >To unsubscribe, send email to listserv@java.sun.com and include in
>> the body
>> > >of the message "signoff JAVA2D-INTEREST". For general help, send
>> email to
>> > >listserv@java.sun.com and include in the body of the message
>> "help".
>> > >
>> > >
>> > >
>> > >
>> >
>> >
>> ======================================================================
>> =====
>> > To unsubscribe, send email to listserv@java.sun.com and include in
>> the body
>> > of the message "signoff JAVA2D-INTEREST". For general help, send
>> email to
>> > listserv@java.sun.com and include in the body of the message "help".
>>
>> ======================================================================
>> =====
>> To unsubscribe, send email to listserv@java.sun.com and include in
>> the body
>> of the message "signoff JAVA2D-INTEREST". For general help, send
>> email to
>> listserv@java.sun.com and include in the body of the message "help".
>>
>>
>>
>>
>
> =======================================================================
> ====
> To unsubscribe, send email to listserv@java.sun.com and include in the
> body
> of the message "signoff JAVA2D-INTEREST". For general help, send
> email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Bira Neto

Perfect shot... :)
That's it... The game is back to normal. My old card (GF440mx) didn't
support antialias. That's why I didn't notice my application's bug for
that. :)
thanks for your help

Bira

Chris Campbell wrote:

> Hi Bira,
>
>> The fill color is solid. Maybe I used something somewhere else? What
>> could have caused the fillRect function to cause so many MaskFills?
>
>
> I suspect that you have the antialiasing RenderingHint enabled when
> you clear the background. Antialiasing has no real visual effect on
> fillRect() (or clearRect()), so you will definitely get better
> performance if you disable antialising for that operation.
>
> Chris
>
> On Oct 30, 2005, at 4:37 PM, Bira Neto wrote:
>
>> I set my program to render 10 frames and exit
>> First execution, with the following code (backgroundColor=Color.BLACK)
>>
>> if(backgroundColor!=null){
>> g.setBackground(backgroundColor);
>> g.clearRect(0,0,800,600);
>> g.setBackground(null);
>> }
>>
>> I also tried fillRect, but with the same performance
>> if(backgroundColor!=null){
>> g.setColor(backgroundColor);
>> g.fillRect(0,0,800,600);
>> }
>>
>> 59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
>> 13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa,
>> IntRgb)
>> 7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha,
>> IntArgbBm)
>> 14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, IntRgb)
>> 7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
>> SrcOverNoEa, IntArgbBm)
>> 7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor,
>> SrcNoEa, Any)
>> 5040 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src,
>> IntRgb)
>> 13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa, IntRgb)
>> 7 calls to
>> sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any, SrcNoEa,
>> "Integer RGB DirectDraw with 1 bit transp")
>> 11 calls to DDFillRect
>> 7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
>> SrcOverNoEa, IntArgbBm)
>> 113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>> DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB DirectDraw")
>> 7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
>> 7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa, IntArgbBm)
>> 1579 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>> DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
>> 6891 total calls to 15 different primitives
>>
>> This time I removed the code to fill the background
>>
>> 7 calls to
>> sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any, SrcNoEa,
>> "Integer RGB DirectDraw with 1 bit transp")
>> 14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, IntRgb)
>> 13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa,
>> IntRgb)
>> 59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
>> 290 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src, IntRgb)
>> 7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha,
>> IntArgbBm)
>> 113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>> DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB DirectDraw")
>> 7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
>> SrcOverNoEa, IntArgbBm)
>> 13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa, IntRgb)
>> 13 calls to DDFillRect
>> 7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
>> SrcOverNoEa, IntArgbBm)
>> 7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor,
>> SrcNoEa, Any)
>> 7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
>> 7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa, IntArgbBm)
>> 1580 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>> DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
>> 2144 total calls to 15 different primitives
>>
>> Looks like the problem is the MaskBlit
>> The fill color is solid. Maybe I used something somewhere else? What
>> could have caused the fillRect function to cause so many MaskFills?
>>
>> anyway, thanks for your help
>> Bira
>>
>>
>>
>> Dmitri Trembovetski wrote:
>>
>>> Hi Bira,
>>>
>>> On Sat, Oct 29, 2005 at 07:55:55PM -0300, Bira Neto wrote:
>>> > Hi, I took a little time trying to update my drivers, for video
>>> card, mb
>>> > bios, etc. I managed to achieve the same performance I was
>>> getting in
>>> > the old system, so it probably was a driver issue.
>>> >
>>> > I still have some doubts.
>>> > I'm using Windows XP and a MSI NX6600 video card on a semprom
>>> 2600@1800.
>>> > The game is being tested with Java 1.5.4
>>> > The game consists of 500x500 tiled sprites as the background with
>>> a few
>>> > others 150x150 sprites running over them.
>>> >
>>> > The game performance is
>>> > ~41fps@800x600 windowed, (65 fps lock)
>>> > ~15fps@800x600 fullscreen, (65 fps lock)
>>> >
>>> > Fullscreen is slower than windowed (this one gets me a little
>>> confused)
>>> > Filling background (fillrect(0 , 0, 800, 600) ) causes the bad
>>> > performance above.
>>> >
>>> > Without the fillrect method (that was called just once per frame)
>>> > ~65fps@800x600 windowed (65 fps lock)
>>> > ~60fps@800x600 fullscreen (65 fps lock)
>>> >
>>> > My doubts are
>>> >
>>> > Is fullscreen slower than windowed? If so, is the reason
>>> portability?
>>>
>>> The reason you're getting 60fps in full screen mode is that the
>>> buffer swap is synch-ed to the refresh rate of the monitor. Change
>>> your display mode to 75 Hz, and you'll get a 75fps (or half as that
>>> if your rendering can't keep up).
>>>
>>> > The fillRect isn't hardware accelerated? If it's not, could it be?
>>>
>>> It sure is, but only for opaque colors. Do you fill with a
>>> translucent color by any chance?
>>> Could you run your application with -Dsun.java2d.trace=count (this
>>> will print the count of rendering primitives used by Java2D at the
>>> program exit) with and w/o the fill rect, and send the results?
>>>
>>> Thanks,
>>> Dmitri
>>> Java2D Team
>>>
>>>
>>>
>>> >
>>> > Bira
>>> >
>>> >
>>> >
>>> > Dmitri Trembovetski wrote:
>>> >
>>> > > Hi Bira,
>>> > >
>>> > > could you provide mode details? Which releae are you using? What
>>> > > platform/os?
>>> > >
>>> > > Are you setting any jav2d-related flags/properties?
>>> > >
>>> > > Also, w/o knowing what your application is doing it'd be hard to
>>> > > guess what could be wrong.
>>> > >
>>> > > Thanks,
>>> > > Dmitri
>>> > >
>>> > >
>>> > >
>>> > >On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
>>> > >> I am developing a game using java2d. I had a GEForce4 MX 440,
>>> and I was
>>> > >> getting about 40 fps. A few days ago I update to a GEForce
>>> 6600, and
>>> > >> even if I was thinking I would get a major fps increase it
>>> droped to
>>> > >> abou 30fps.
>>> > >>
>>> > >> Any ideas why it happens (or if there is something wrong with my
>>> > >> configuration...)?
>>> > >>
>>> > >>
>>> >
>>> >=====================================================================
>>> ======
>>> > >> To unsubscribe, send email to listserv@java.sun.com and
>>> include in the
>>> > >body
>>> > >> of the message "signoff JAVA2D-INTEREST". For general help,
>>> send email
>>> > >to
>>> > >> listserv@java.sun.com and include in the body of the message
>>> "help".
>>> > >
>>> >
>>> >=====================================================================
>>> ======
>>> > >To unsubscribe, send email to listserv@java.sun.com and include
>>> in the body
>>> > >of the message "signoff JAVA2D-INTEREST". For general help,
>>> send email to
>>> > >listserv@java.sun.com and include in the body of the message
>>> "help".
>>> > >
>>> > >
>>> > >
>>> > >
>>> >
>>> >
>>> ======================================================================
>>> =====
>>> > To unsubscribe, send email to listserv@java.sun.com and include
>>> in the body
>>> > of the message "signoff JAVA2D-INTEREST". For general help, send
>>> email to
>>> > listserv@java.sun.com and include in the body of the message "help".
>>>
>>> ======================================================================
>>> =====
>>> To unsubscribe, send email to listserv@java.sun.com and include in
>>> the body
>>> of the message "signoff JAVA2D-INTEREST". For general help, send
>>> email to
>>> listserv@java.sun.com and include in the body of the message "help".
>>>
>>>
>>>
>>>
>>
>> =======================================================================
>> ====
>> To unsubscribe, send email to listserv@java.sun.com and include in
>> the body
>> of the message "signoff JAVA2D-INTEREST". For general help, send
>> email to
>> listserv@java.sun.com and include in the body of the message "help".
>
>
>
>

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Chris Campbell

On Oct 30, 2005, at 8:27 PM, Bira Neto wrote:

> Perfect shot... :)
> That's it... The game is back to normal.
>

That's good news, but...

> My old card (GF440mx) didn't
> support antialias. That's why I didn't notice my application's bug for
> that. :)
>
>

Java2D does not (currently) leverage hardware antialiasing features,
so I don't think this explains why your app performs differently on
the two different boards. We execute the same antialiasing code in
software regardless of whether you have a GF MX 440 or a GF 6600...

Chris

> thanks for your help
>
> Bira
>
> Chris Campbell wrote:
>
>
>
>> Hi Bira,
>>
>>
>>
>>> The fill color is solid. Maybe I used something somewhere else? What
>>> could have caused the fillRect function to cause so many MaskFills?
>>>
>>>
>>
>>
>> I suspect that you have the antialiasing RenderingHint enabled when
>> you clear the background. Antialiasing has no real visual effect on
>> fillRect() (or clearRect()), so you will definitely get better
>> performance if you disable antialising for that operation.
>>
>> Chris
>>
>> On Oct 30, 2005, at 4:37 PM, Bira Neto wrote:
>>
>>
>>
>>> I set my program to render 10 frames and exit
>>> First execution, with the following code
>>> (backgroundColor=Color.BLACK)
>>>
>>> if(backgroundColor!=null){
>>> g.setBackground(backgroundColor);
>>> g.clearRect(0,0,800,600);
>>> g.setBackground(null);
>>> }
>>>
>>> I also tried fillRect, but with the same performance
>>> if(backgroundColor!=null){
>>> g.setColor(backgroundColor);
>>> g.fillRect(0,0,800,600);
>>> }
>>>
>>> 59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
>>> 13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa,
>>> IntRgb)
>>> 7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha,
>>> IntArgbBm)
>>> 14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa,
>>> IntRgb)
>>> 7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
>>> SrcOverNoEa, IntArgbBm)
>>> 7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor,
>>> SrcNoEa, Any)
>>> 5040 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src,
>>> IntRgb)
>>> 13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa,
>>> IntRgb)
>>> 7 calls to
>>> sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any,
>>> SrcNoEa,
>>> "Integer RGB DirectDraw with 1 bit transp")
>>> 11 calls to DDFillRect
>>> 7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
>>> SrcOverNoEa, IntArgbBm)
>>> 113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>>> DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB
>>> DirectDraw")
>>> 7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
>>> 7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa,
>>> IntArgbBm)
>>> 1579 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>>> DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
>>> 6891 total calls to 15 different primitives
>>>
>>> This time I removed the code to fill the background
>>>
>>> 7 calls to
>>> sun.awt.windows.Win32BlitLoops$DelegateBlitBgLoop::BlitBg(Any,
>>> SrcNoEa,
>>> "Integer RGB DirectDraw with 1 bit transp")
>>> 14 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa,
>>> IntRgb)
>>> 13 calls to sun.java2d.loops.Blit::Blit(ByteIndexedBm, SrcOverNoEa,
>>> IntRgb)
>>> 59 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntRgb)
>>> 290 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src,
>>> IntRgb)
>>> 7 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha,
>>> IntArgbBm)
>>> 113 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>>> DirectDraw with 1 bit transp", SrcOverNoEa, "Integer RGB
>>> DirectDraw")
>>> 7 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntArgbBm,
>>> SrcOverNoEa, IntArgbBm)
>>> 13 calls to sun.java2d.loops.Blit::Blit(ThreeByteBgr, SrcNoEa,
>>> IntRgb)
>>> 13 calls to DDFillRect
>>> 7 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgbBm,
>>> SrcOverNoEa, IntArgbBm)
>>> 7 calls to sun.java2d.loops.SetFillRectANY::FillRect(AnyColor,
>>> SrcNoEa, Any)
>>> 7 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcNoEa, IntArgb)
>>> 7 calls to sun.java2d.loops.Blit::Blit(ByteIndexed, SrcNoEa,
>>> IntArgbBm)
>>> 1580 calls to sun.awt.windows.Win32BlitLoops::Blit("Integer RGB
>>> DirectDraw", SrcNoEa, "Integer RGB DirectDraw")
>>> 2144 total calls to 15 different primitives
>>>
>>> Looks like the problem is the MaskBlit
>>> The fill color is solid. Maybe I used something somewhere else? What
>>> could have caused the fillRect function to cause so many MaskFills?
>>>
>>> anyway, thanks for your help
>>> Bira
>>>
>>>
>>>
>>> Dmitri Trembovetski wrote:
>>>
>>>
>>>
>>>> Hi Bira,
>>>>
>>>> On Sat, Oct 29, 2005 at 07:55:55PM -0300, Bira Neto wrote:
>>>> > Hi, I took a little time trying to update my drivers, for video
>>>> card, mb
>>>> > bios, etc. I managed to achieve the same performance I was
>>>> getting in
>>>> > the old system, so it probably was a driver issue.
>>>> >
>>>> > I still have some doubts.
>>>> > I'm using Windows XP and a MSI NX6600 video card on a semprom
>>>> 2600@1800.
>>>> > The game is being tested with Java 1.5.4
>>>> > The game consists of 500x500 tiled sprites as the background with
>>>> a few
>>>> > others 150x150 sprites running over them.
>>>> >
>>>> > The game performance is
>>>> > ~41fps@800x600 windowed, (65 fps lock)
>>>> > ~15fps@800x600 fullscreen, (65 fps lock)
>>>> >
>>>> > Fullscreen is slower than windowed (this one gets me a little
>>>> confused)
>>>> > Filling background (fillrect(0 , 0, 800, 600) ) causes the bad
>>>> > performance above.
>>>> >
>>>> > Without the fillrect method (that was called just once per frame)
>>>> > ~65fps@800x600 windowed (65 fps lock)
>>>> > ~60fps@800x600 fullscreen (65 fps lock)
>>>> >
>>>> > My doubts are
>>>> >
>>>> > Is fullscreen slower than windowed? If so, is the reason
>>>> portability?
>>>>
>>>> The reason you're getting 60fps in full screen mode is that the
>>>> buffer swap is synch-ed to the refresh rate of the monitor. Change
>>>> your display mode to 75 Hz, and you'll get a 75fps (or half as
>>>> that
>>>> if your rendering can't keep up).
>>>>
>>>> > The fillRect isn't hardware accelerated? If it's not, could it
>>>> be?
>>>>
>>>> It sure is, but only for opaque colors. Do you fill with a
>>>> translucent color by any chance?
>>>> Could you run your application with -Dsun.java2d.trace=count (this
>>>> will print the count of rendering primitives used by Java2D at the
>>>> program exit) with and w/o the fill rect, and send the results?
>>>>
>>>> Thanks,
>>>> Dmitri
>>>> Java2D Team
>>>>
>>>>
>>>>
>>>> >
>>>> > Bira
>>>> >
>>>> >
>>>> >
>>>> > Dmitri Trembovetski wrote:
>>>> >
>>>> > > Hi Bira,
>>>> > >
>>>> > > could you provide mode details? Which releae are you using?
>>>> What
>>>> > > platform/os?
>>>> > >
>>>> > > Are you setting any jav2d-related flags/properties?
>>>> > >
>>>> > > Also, w/o knowing what your application is doing it'd be
>>>> hard to
>>>> > > guess what could be wrong.
>>>> > >
>>>> > > Thanks,
>>>> > > Dmitri
>>>> > >
>>>> > >
>>>> > >
>>>> > >On Sun, Oct 23, 2005 at 03:58:28PM -0300, Bira Neto wrote:
>>>> > >> I am developing a game using java2d. I had a GEForce4 MX 440,
>>>> and I was
>>>> > >> getting about 40 fps. A few days ago I update to a GEForce
>>>> 6600, and
>>>> > >> even if I was thinking I would get a major fps increase it
>>>> droped to
>>>> > >> abou 30fps.
>>>> > >>
>>>> > >> Any ideas why it happens (or if there is something wrong
>>>> with my
>>>> > >> configuration...)?
>>>> > >>
>>>> > >>
>>>> >
>>>> >==================================================================
>>>> ===
>>>> ======
>>>> > >> To unsubscribe, send email to listserv@java.sun.com and
>>>> include in the
>>>> > >body
>>>> > >> of the message "signoff JAVA2D-INTEREST". For general help,
>>>> send email
>>>> > >to
>>>> > >> listserv@java.sun.com and include in the body of the message
>>>> "help".
>>>> > >
>>>> >
>>>> >==================================================================
>>>> ===
>>>> ======
>>>> > >To unsubscribe, send email to listserv@java.sun.com and include
>>>> in the body
>>>> > >of the message "signoff JAVA2D-INTEREST". For general help,
>>>> send email to
>>>> > >listserv@java.sun.com and include in the body of the message
>>>> "help".
>>>> > >
>>>> > >
>>>> > >
>>>> > >
>>>> >
>>>> >
>>>> ===================================================================
>>>> ===
>>>> =====
>>>> > To unsubscribe, send email to listserv@java.sun.com and include
>>>> in the body
>>>> > of the message "signoff JAVA2D-INTEREST". For general help, send
>>>> email to
>>>> > listserv@java.sun.com and include in the body of the message
>>>> "help".
>>>>
>>>> ===================================================================
>>>> ===
>>>> =====
>>>> To unsubscribe, send email to listserv@java.sun.com and include in
>>>> the body
>>>> of the message "signoff JAVA2D-INTEREST". For general help, send
>>>> email to
>>>> listserv@java.sun.com and include in the body of the message
>>>> "help".
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> ====================================================================
>>> ===
>>> ====
>>> To unsubscribe, send email to listserv@java.sun.com and include in
>>> the body
>>> of the message "signoff JAVA2D-INTEREST". For general help, send
>>> email to
>>> listserv@java.sun.com and include in the body of the message "help".
>>>
>>>
>>
>>
>>
>>
>>
>>
>
> ======================================================================
> =====
> To unsubscribe, send email to listserv@java.sun.com and include in
> the body
> of the message "signoff JAVA2D-INTEREST". For general help, send
> email to
> listserv@java.sun.com and include in the body of the message "help".
>
>

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Michele Puccini

Hi Java2D team,

sometimes I get this pid coming from sun.awt.image.ImagingLib.convolveBI().
It is quite difficult to reproduce, but I hope the dump will help you in
drawing the possible causes.

Config:
JRE 1.5.0_05
P4 3.2Ghz (HT on)
1Gb ram
NVidia FX5700 128Mb

Cheers,

Mik
============================================================================
> ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte (PI) <
> Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB: http://www.classx.it <
============================================================================

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".
[hs_err_pid3588.log]

Andrew Brygin

Hi Michaele,

Do you have testcase we can use to reproduce the problem?
It will greatly simplify our investigation.
(e.g. info about image type, dimensions, whether image constructed and
used in the same thread, etc.)

Also please check whether this problem is reproducible with latest
Mustang builds.

Thanks,
Andrew

Michele Puccini wrote:

> Hi Java2D team,
>
> sometimes I get this pid coming from
> sun.awt.image.ImagingLib.convolveBI().
> It is quite difficult to reproduce, but I hope the dump will help you in
> drawing the possible causes.
>
> Config:
> JRE 1.5.0_05
> P4 3.2Ghz (HT on)
> 1Gb ram
> NVidia FX5700 128Mb
>
> Cheers,
>
> Mik
> ============================================================================
>
>
>> ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte
>> (PI) <
>> Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB:
>> http://www.classx.it <
>
> ============================================================================
>
>
> ===========================================================================
>
> To unsubscribe, send email to listserv@java.sun.com and include in the
> body
> of the message "signoff JAVA2D-INTEREST". For general help, send
> email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Michele Puccini

Hi Andrew,

the bug is not easily reproducible and that's the reason why I haven't a
testcase for the problem.
Maybe the following info can be of some help for you:
- The image type is always TYPE_INT_ARGB
- The image dimensions... varying but not more than 2048x2048 (about 500x100
during the crash)
- The image is constructed and used in different threads (hhmmm..).

I'l try to reproduce the problem with the latest Mustang.

Cheers,

Mik
============================================================================
> ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte (PI) <
> Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB: http://www.classx.it <
============================================================================

----- Original Message -----
From: "Andrew Brygin"
To: "Michele Puccini"
Cc:
Sent: Monday, October 31, 2005 3:39 PM
Subject: Re: [JAVA2D] convolveBI - EXCEPTION_ACCESS_VIOLATION

> Hi Michaele,
>
> Do you have testcase we can use to reproduce the problem?
> It will greatly simplify our investigation.
> (e.g. info about image type, dimensions, whether image constructed and
> used in the same thread, etc.)
>
> Also please check whether this problem is reproducible with latest Mustang
> builds.
>
> Thanks,
> Andrew
>
> Michele Puccini wrote:
>
>> Hi Java2D team,
>>
>> sometimes I get this pid coming from
>> sun.awt.image.ImagingLib.convolveBI().
>> It is quite difficult to reproduce, but I hope the dump will help you in
>> drawing the possible causes.
>>
>> Config:
>> JRE 1.5.0_05
>> P4 3.2Ghz (HT on)
>> 1Gb ram
>> NVidia FX5700 128Mb
>>
>> Cheers,
>>
>> Mik
>> ============================================================================
>>
>>> ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte (PI)
>>> <
>>> Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB: http://www.classx.it
>>> <
>>
>> ============================================================================
>>
>> ===========================================================================
>> To unsubscribe, send email to listserv@java.sun.com and include in the
>> body
>> of the message "signoff JAVA2D-INTEREST". For general help, send email
>> to
>> listserv@java.sun.com and include in the body of the message "help".
>
>
>

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".

Andrew Brygin

> - The image is constructed and used in different threads (hhmmm..).
>
I suspect we might be trying to use image when it is not fully prepared.
But without the way to reproduce it its hard to understand what went wrong.

You may also try fastdebug build - if it crash we will have more
meaningful stacktrace.

Thanks,
Andrew

> I'l try to reproduce the problem with the latest Mustang.
>
> Cheers,
>
> Mik
> ============================================================================
>
>
>> ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte
>> (PI) <
>> Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB:
>> http://www.classx.it <
>
> ============================================================================
>
>
> ----- Original Message -----
> From: "Andrew Brygin"
> To: "Michele Puccini"
> Cc:
> Sent: Monday, October 31, 2005 3:39 PM
> Subject: Re: [JAVA2D] convolveBI - EXCEPTION_ACCESS_VIOLATION
>
>
>> Hi Michaele,
>>
>> Do you have testcase we can use to reproduce the problem?
>> It will greatly simplify our investigation.
>> (e.g. info about image type, dimensions, whether image constructed and
>> used in the same thread, etc.)
>>
>> Also please check whether this problem is reproducible with latest
>> Mustang
>> builds.
>>
>> Thanks,
>> Andrew
>>
>> Michele Puccini wrote:
>>
>>> Hi Java2D team,
>>>
>>> sometimes I get this pid coming from
>>> sun.awt.image.ImagingLib.convolveBI().
>>> It is quite difficult to reproduce, but I hope the dump will help
>>> you in
>>> drawing the possible causes.
>>>
>>> Config:
>>> JRE 1.5.0_05
>>> P4 3.2Ghz (HT on)
>>> 1Gb ram
>>> NVidia FX5700 128Mb
>>>
>>> Cheers,
>>>
>>> Mik
>>> ============================================================================
>>>
>>>
>>>> ClassX Development Italy Via Francesca, 368/I I-56030 S.M. a Monte
>>>> (PI)
>>>> <
>>>> Tel.(+39)-0587-705153 Fax.(+39)-0587-705153 WEB:
>>>> http://www.classx.it
>>>> <
>>>
>>>
>>> ============================================================================
>>>
>>>
>>> ===========================================================================
>>>
>>> To unsubscribe, send email to listserv@java.sun.com and include in the
>>> body
>>> of the message "signoff JAVA2D-INTEREST". For general help, send email
>>> to
>>> listserv@java.sun.com and include in the body of the message "help".
>>
>>
>>
>>
>
> ===========================================================================
>
> To unsubscribe, send email to listserv@java.sun.com and include in the
> body
> of the message "signoff JAVA2D-INTEREST". For general help, send
> email to
> listserv@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to listserv@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
listserv@java.sun.com and include in the body of the message "help".