If canvas matrix is not set, and you transform every path by the matrix before drawing it, it works a little faster. At least when the number of paths is too big
path.transform(matrix)
On every path instead of:
canvas.setMatrix(matrix)
Or
canvas.concat(matrix)