Using the canvas?
Posted: Thu Jun 13, 2013 7:57 pm
I'm hoping that this is the last technical question I will have regarding specific functions or portions of LOVE.
I saw the Canvas class and I was a bit confused about something it mentioned:
Would this be something I would be looking for in order to... say... draw a star field in the background consisting of 50K+ points? I am already doing so via a loop and table at a very nice 300 FPS, but would it save me C/GPU time in order to draw it to the canvas and draw the single canvas instead in each Draw state?
My next question is what would happen if we wish to update the canvas. Theoretically I could just create a new canvas, draw my items to it, and reassign it to the canvas variable. It is implied that the canvas acts as a texture and retains all image data on itself and does not need to be updated each frame. Is this correct?
I saw the Canvas class and I was a bit confused about something it mentioned:
Now I understand the concept of drawing to the 'texture' but what I don't understand is how each draw call affects performance. From what I am seeing is implied... more draw calls = slower. I would assume this doesn't really matter the size of the items either?By drawing things that do not change position often (such as background items) to the Canvas, and then drawing the entire Canvas instead of each item, you can reduce the number of draw operations performed each frame.
Would this be something I would be looking for in order to... say... draw a star field in the background consisting of 50K+ points? I am already doing so via a loop and table at a very nice 300 FPS, but would it save me C/GPU time in order to draw it to the canvas and draw the single canvas instead in each Draw state?
My next question is what would happen if we wish to update the canvas. Theoretically I could just create a new canvas, draw my items to it, and reassign it to the canvas variable. It is implied that the canvas acts as a texture and retains all image data on itself and does not need to be updated each frame. Is this correct?