what's up with the pipeline???

as mentioned in my few previous posts, the rendering of my game is dog slow.
after i’ve posted the results of -Dsun.java2d.trace=count, i was told that the d3d\opengl pipeline isn’t enabled.
well, here are the results of -Dsun.java2d.trace=count now:

1696 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, SrcOver, Ushort565Rgb)
1696 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgb, SrcOverNoEa, “D3D texture destination”)
36 calls to sun.awt.windows.Win32BlitLoops::Blit(“Short 565 RGB DirectDraw”, SrcNoEa, “Short 565 RGB DirectDraw”)
630 calls to sun.java2d.loops.MaskFill::MaskFill(AnyColor, Src, IntArgb)
41180 calls to sun.java2d.loops.Blit::Blit(Ushort565Rgb, SrcNoEa, IntArgb)
37 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, IntArgb)
449 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(Ushort565Rgb, SrcNoEa, IntArgb)
37 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha, IntArgbBm)
52 calls to sun.java2d.loops.DrawGlyphList::DrawGlyphList(OpaqueColor, SrcNoEa, AnyShort)
43 calls to D3DDrawRect
2625 calls to GDIFillShape
14 calls to sun.java2d.loops.Blit::Blit(IntRgb, SrcNoEa, Ushort565Rgb)
3 calls to GDIFillRect
37 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntRgb, SrcNoEa, IntArgbBm)
38006 calls to sun.java2d.loops.Blit::Blit(IntArgbBm, SrcOverNoEa, Ushort565Rgb)
9759 calls to DDFillRect
37 calls to sun.java2d.loops.MaskBlit$General::MaskBlit(IntRgb, SrcNoEa, IntArgbBm)
41 calls to GDIDrawShape
57 calls to sun.java2d.loops.DrawPolygons::DrawPolygons(OpaqueColor, SrcNoEa, AnyInt)
449 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, AnyAlpha, IntArgb)
96884 total calls to 20 different primitives

as you can see by the line :“43 calls to D3DDrawRect” there are d3d calls. i thought this means the pipeline is enabled, isn’t it?

I think some of the fancy D3D stuff happens even though pipeline isn’t enabled. Some operations are accelerated even if no pipeline is used. The pipeline is just a way to get more stuff accelerated, at the possible cost of some compatibility (the OGL pipeline makes a lot of fuss on my laptop, for example). Besides, the D3D pipeline won’t exist till Mustang, while the OGL one which you probably want to use is in Tiger (1.5.0).

Could you please post a bit more details.

Was that with 6.0 or 5.0?
Was that with -Dsun.java2d.d3d=true?
Could you try 6.0 with -Dsun.java2d.opengl=true ?

And, it’d be really nice if you posted the code for your app somewhere.
We keep playing this guess game here.

If this was 5.0 - there were no such thing as d3d pipeline there, but a couple
of primitives (lines, for exampe, I’m not sure about rects) were going through d3d.

Dmitri
Java2D Team