From 2168071e703a9b26f16161061e99eb7fa4cfc764 Mon Sep 17 00:00:00 2001 From: Anton Firszov Date: Fri, 19 Apr 2019 23:07:32 +0200 Subject: [PATCH] moar unsafe optimization --- .../Processing/Processors/Transforms/Resize/ResizeWorker.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs index 9b7d1d17c6..7fe2638802 100644 --- a/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs +++ b/src/ImageSharp/Processing/Processors/Transforms/Resize/ResizeWorker.cs @@ -123,10 +123,13 @@ namespace SixLabors.ImageSharp.Processing.Processors.Transforms int top = kernel.StartIndex - this.currentWindow.Min; + ref Vector4 fpBase = ref this.transposedFirstPassBuffer.Span[top]; + for (int x = 0; x < this.destWidth; x++) { // Span firstPassColumn = this.GetColumnSpan(x).Slice(top); - ref Vector4 firstPassColumnBase = ref this.GetColumnSpan(x)[top]; + // ref Vector4 firstPassColumnBase = ref this.GetColumnSpan(x)[top]; + ref Vector4 firstPassColumnBase = ref Unsafe.Add(ref fpBase, x * this.workerHeight); // Destination color components Unsafe.Add(ref tempRowBase, x) = kernel.ConvolveCore(ref firstPassColumnBase);