[quote] 106415 calls to sun.java2d.loops.Blit$GeneralMaskBlit::Blit(IntArgb, SrcOverNoEa, “Integer RGB DirectDraw”)
106415 calls to sun.java2d.loops.MaskBlit::MaskBlit(IntArgb, SrcOver, IntRgb)
These are the things that kill your performance. This is a software blit of a translucent buffered image to an accelerated image (backbuffer).
I see a couple of possibilites:
- you have some sprites as bufferedImages for some reason (so they are not being accelerated)
- you create more sprites that can fit in vram, some of them get accelerated, but most - don’t
- you render to your sprites more often than you copy from them
[/quote]
Hey,
i think the first possibility can be ruled out. Because on my every Image creation i am checking out whether they are accelerated after creation or not, and they all are.
The second one might be true, since i am creating about 20 images to start with and create others on the fly (exlosions only).
But apart from image i am creating other geometrical stuff all the time, about 100 geometrical things. Lets say i am creating about MAX 250 sprites. I dont think that is too much !! I have 32 Meg gfx card.
One thing i think might be a problem is ur third possibility. I have put up a simple time bench on my updateEverything method and rendering method. This is what my console shows :
Time Paint() - 15
Time Paint() - 15
Time Paint() - 31
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Update() - 16
Time Paint() - 16
Time Paint() - 16
Time Update() - 16
Time Paint() - 16
Time Update() - 15
Time Paint() - 15
Time Paint() - 16
Time Update() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Update() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Update() - 15
Time Paint() - 16
Time Update() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Update() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Update() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Update() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 15
Time Update() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 16
Time Paint() - 16
Time Paint() - 16
Time Paint() - 15
Time Paint() - 15
And my threaded loop is like : gameManager.update(); gameManager.paint(bufferedGraphics); bufferedGraphics.show();
Thread.currentThread().yield();
ual.sleep(gameManager.REFRESH_RATE);
What i am trying to show here is in my code i am trying to call my update() and paint() ONCE every refresh. But from my console i gather that my update method doesnt get called as often as my render(). Maybe because my sleep time is too short - like 10 millisecond.
:o
PS - Sorry for the long stupid looking post ;D