I am making a space-themed shooter game, and I need to render many lasers at the same time. I am using the library Slick2D, a wrapper around lwjgl. Unfortunately, when there are a lot of these lasers on the screen at one time, the game drops from its usual 60 FPS to around 30 or even 20.Things I've noticed:Not calling drawSelf = no lagNot calling .fill = no lagAs is = lag as stated in titlepublic void drawSelf(Graphics g){    int[] pos = tr.toSlick(blast.getPosition());    g.setColor(Color.green);    Circle circle = new Circle(pos[0], pos[1], tr.xscale/2);    g.fill(circle);}public int[] toSlick(float x, float y){    int [] output = new int[2];    output[0] = (int)(x*xscale+width/2);    output[1] = (int)(-1*y*yscale+height/2);    return output;}tr is the coordinate transformer object (I'm using jbox2d physics, but that's not impacting anything), and blast is the Body.Can I have some suggestions on making this code faster or am I stuck because of Slick's internals?
Drawing 800+ circles in a space-themed shoorter game
java;performance;game;graphics
By looking at documentation, I found another method that is faster at drawing many circles.I replaced last 2 lines in drawSelf with:g.fillOval(pos[0],pos[1],tr.xscale,tr.yscale);and I got a lot less lag. Turns out it did have to do with internals.