замена массивов CALayer массивами CAMetalLayer - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть приложение для рисования, которое в любой момент в интерактивном режиме отображает контент из массива 200 или около того CALayer s через UIImageView. Я получаю разумную производительность, но мне интересно, могут ли быть какие-либо преимущества в производительности при использовании вместо CAMetalLayer s. В частности, мне любопытно, смог бы ли я извлечь выгоду из перетаскивания текстур непосредственно для каждого CAMetalLayer, и были бы какие-либо аппаратные соображения при наложении / отображении стольких CAMetalLayer с одновременно.

Есть ли какие-либо ошибки, которые я должен рассмотреть перед внедрением, и должен ли я продолжать использовать UIImageView (или другое) для размещения этих новых подслоев с металлическим покрытием? Любые мысли будут оценены.

1 Ответ

1 голос
/ 03 апреля 2019

Это не сработает. Вы должны отслеживать данные вашего удара. Например, массив точек будет одним штрихом, и тогда у вас должен быть массив этих штрихов. Это могут быть только точки (x, y) или, более вероятно, также содержащие цвет, размер и другие переменные. Вы должны знать, что вам нужно, чтобы описать свой инсульт.

Затем используйте это для рисования (штамп в этих местах). Если вы хотите отменить, просто начните рисовать с начала все штрихи в массиве до n-1, n-2 и т. Д.

...