Browse Source

Optimize memory usage

DarthSim 5 years ago
parent
commit
a18dbf76f0
1 changed files with 16 additions and 12 deletions
  1. 16 12
      process.go

+ 16 - 12
process.go

@@ -383,23 +383,21 @@ func transformImage(ctx context.Context, img *vipsImage, data []byte, po *proces
 		}
 	}
 
+	if err = img.CopyMemory(); err != nil {
+		return err
+	}
+
 	checkTimeout(ctx)
 
-	if angle != vipsAngleD0 || flip {
-		if err = img.CopyMemory(); err != nil {
+	if angle != vipsAngleD0 {
+		if err = img.Rotate(angle); err != nil {
 			return err
 		}
+	}
 
-		if angle != vipsAngleD0 {
-			if err = img.Rotate(angle); err != nil {
-				return err
-			}
-		}
-
-		if flip {
-			if err = img.Flip(); err != nil {
-				return err
-			}
+	if flip {
+		if err = img.Flip(); err != nil {
+			return err
 		}
 	}
 
@@ -433,6 +431,12 @@ func transformImage(ctx context.Context, img *vipsImage, data []byte, po *proces
 		}
 	}
 
+	if err = img.CopyMemory(); err != nil {
+		return err
+	}
+
+	checkTimeout(ctx)
+
 	if po.Blur > 0 {
 		if err = img.Blur(po.Blur); err != nil {
 			return err