Есть ли способ загрузки чертежа SVG асинхронно со SkiaSharp? - PullRequest
0 голосов
/ 08 февраля 2019

Я использую SkiaSharp для загрузки рисунка SVG.Это план сайта, поэтому он достаточно сложный и требует много времени для загрузки.На моем телефоне Samsung Galaxy это около 3 секунд, и за это время телефон полностью зависает, что совершенно недопустимо.

Я использую SkiaSharp.Extended.Svg.SKSvg, но не могу найти асинхронную версию метода Load().Есть один?Или, может быть, лучший способ сделать это?

Я накладываю объекты поверх плана сайта, и мне потребовалось довольно много времени, чтобы отсортировать все масштабирование и выравнивание, поэтому, если это вообще возможно, я 'Я хотел бы придерживаться SkiaSharp, а не начинать с чего-то совершенно нового с нуля.

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 11 февраля 2019

3 секунды звучат немного долго ...

Возможно, это не часть SVG, а загрузка файла из файловой системы.

В любом случае, вы можетеуметь загружать все мысли в фоновом режиме (псевдокод):

var picture = Task.Run(() => {
    var stream = LoadStream();
    var svg = LoadSvg(stream);
    return svg.GetPicture();
});
...