使用ImageSharp创建缩略图-性能提高了吗?

时间:2019-10-20 11:29:10

标签: imagesharp

我正在使用ImageSharp将一些JPEG文件从4000x4000(左右)图像转换为一组不同大小的缩略图(100x100、250x250、500x500等)。下面的代码工作得很好,但是想知道是否有任何性能改进-调整大小和保存3个缩略图每个图像大约需要一秒钟,这还不错,但是我想知道是否可以做一些优化来使其更快?

                var sizes = new[] { new Size (100), new Size (250), new Size (500) };
                using (var image = Image.Load<Rgb24>(sourceFileName))
                {
                    foreach (var size in sizes)
                    {
                        image.Mutate(x => x.Resize(size.Width, size.Height));
                        image.Save(dest);
                    }
                }

我知道这个库可能永远无法达到GraphicsMagick的性能(它是本机C ++并且经过高度优化,并且可以在大约200毫秒内完成相同的加载+缩略图转换),但是我喜欢它是跨平台的事实。

在ImageSharp中完成工作的大部分时间都花在加载图像上-有一种方法可以给它提示以更快的方式加载JPEG,因为很多分辨率都将被丢弃缩略图缩小了吗?加载后,实际的“调整大小”和“保存到磁盘”似乎很快。

我也尝试过使用线程池并行转换(说)6张图像,这确实有所改进,但是我只想检查ImageSharp本身是否有选项或用法更改,这将使此速度显着提高-检查文档,但到目前为止我看不到任何明显的东西。

0 个答案:

没有答案