Then an alternative which avoids making new PGraphics is the copy() method, which allows you to copy a certain rectangle of an image using the underlying pixels array. This may be more memory efficient, since you are not creating a new PGraphics every time you draw the image, but it likely isn’t much faster since you are copying pixels rather than drawing an image using image(). I haven’t tested the speed of this function, but it may be worth a shot.