ctx.start_group and ctx.end_group are expensive calls creating an off-screen 32bpp rendering texture, redirecting rendering to it, and rendering this result back to the screen.