ImageSharp очень медленно работает на устройствах Android - PullRequest
0 голосов
/ 27 сентября 2018

Я создаю приложение Xamarin, используя ImageSharp для работы с изображениями.

Я заметил, что операции ImageSharp очень медленные в эмуляторе и смехотворно медленный при развертывании на физическом устройстве (Galaxy Note 8).

Вещи, которые way slow:

// Load image (very slow)
var image = SixLabors.ImageSharp.Image.Load(stream);   

// Manipulate image (equally slow)
image.Mutate(i => i.Resize(new ResizeOptions
                    {
                        Mode = ResizeMode.Pad,
                        Position = AnchorPositionMode.Top,
                        Size = new SixLabors.Primitives.Size(600,400))
                    }));

Обратите внимание, что изображение загружается нормально (хотя и медленно)) и изменение размера работает , но очень медленно (30-60 секунд).

Выполнение того же кода из консольной программы .NET Core сокращает время загрузки и манипуляции примерно до 1-2 секунды.

Когда подключен отладчик, я вижу их во время выполнения операций ImageSharp:

GC_MINOR: (Nursery full)

Я не совсем уверен, как решить эту проблему, мой единственный вариант - клонировать репозиторий ImageSharp и отлаживать его с помощью пользовательской сборки?

Редактировать: Не уверен, может ли это быть связано с эта проблема ?

Правка № 2: Я сдалсяна ImageSharp, а также протестировал OpenCV без особой пользы, а затем остановился на SkiaSharp , который отлично работает прямо из коробки.

...