Не-не, про это вообще забудь. Работай с битмапом напрямую через Accelerate. Готовую cgimage подставишь в contents CALayer
Хм. Надо будет поробовать
Одну из сессий нашел: WWDC 2018 Session 407 Practical Approaches to Great App Performance 31:40
У Photos есть некий менеджер текстур, который генерирует спрайты для каждой секции и всё это к сожалению на Metal
Почему "к сожалению"?
Меньше надежд, что с этим справится Accelerate в 60/120 fps и больше головной боли )
У меня возникло ощущение, что эпл не даёт инструментов для доступа к скэшированным превью на столько же быстро, на сколько они отдаются нативному приложению
Покапаюсь, в любом случае, можно и приватным селектором дёрнуть.
Меня ещё смутило, что у меня FLEX лишь в симуляторе запустился..
Хочу сделать кастомный текстфилд с подобным вводом, но хоть убей не хочу трогать Metal, сижу в таких же раздумьях
Чем метал то так плох/хорош, что он нужен/но использовать его не хочется?
Мне никто так и не смог сказать чем метал так хорош в том числе для этой задаче. Есть вот такой пример. https://github.com/dreampowder/photosSample/tree/master С большим числом изображений оно не дружит
Просто Metal это одна огромная область, к которой хочется прибегать в действительно сложных вещах. Возможно нужно сделать некую простую обёртку над каким-то примитивами Metal, как это делает SUI, но пока нет ни времени ни желания. Ну и эта история с Metal всегда заставляет меня снова вспоминать о С++, от чего я пытался убежать в Swift : )
я в общем и целом не сказал бы, что жутко стремлюсь убежать от с++, я далеко не любитель свифта, скорее наоборот..
Ответ на поверхности: - draw это однопоток -> contents -> GPU - Accelerate многопоток -> contents -> GPU - Metal -> GPU
так metal это отрисовка... а с быстрым чтением как быть..
memmove/CGImageSource -> GPU (ресайз + спрайт + рендер)
Так а попытки отдать это любителям трогать Metal/что-то ещё не увенчались успехом? Или бюджета/пряника нет?
Ну а какая разница то 😊
Обсуждают сегодня