Производительность SVGKit и должна ли она быть предпочтительнее PNG?

Я смотрю на SVGKit и нахожу противоречивые идеи. Некоторые говорят, что это медленнее, чем PNG, а другие говорят, что это быстро.

Я надеялся получить рекомендацию и какой маршрут мне выбрать. Когда я экспортирую векторную графику в формат PNG для отображения, не имеет ли смысл вместо этого использовать SVG?

Конечно, это дает дополнительную ценность, так как остается вектором.

Или все еще рекомендуется экспортировать все в PNG?

2 ответа

Решение

Вы можете рассмотреть промежуточный способ, введенный в Xcode 7. Здесь вы добавляете свои активы в проект в виде векторных изображений (PDF), и во время сборки Xcode автоматически генерирует PNG всех необходимых размеров (1x, 2x, 3x).

Лично я использую SVG только когда это необходимо, например, если мне нужно иметь возможность изменять цвет (части) изображения. Я полагаю, что при изменении размера векторных изображений во время выполнения может быть снижение производительности, хотя Android по умолчанию использует векторы, поэтому оно может быть незначительным.

SVG является наиболее ресурсоемким и может использоваться, если вам нужно отображать что-то, что можно увеличивать и уменьшать, тогда как PNG следует предпочитать для большинства графических элементов пользовательского интерфейса (логотипы, значки и т. Д.), Поскольку оно четкое, но остается легким и быстрым для отображать, поэтому нет никакого способа сравнить SVG с PNG с точки зрения производительности. Если вы хотите получить кристально чистые изображения, вы можете использовать графику в формате PDF, которая поддерживается XCode, используя векторные изображения в XCode.

если вам все еще нужно реализовать SVGKit, я всегда советую использовать некоторые инструменты (например, SVGCleaner) очистить и упростить SVG для повышения производительности.

Другие вопросы по тегам