Ну, короткий ответ, смешивание должно происходить в любом случае, чтобы правильно отображать прозрачные угловые пиксели.Тем не менее, это обычно должно быть проблемой, если вы хотите, чтобы результирующее представление также каким-то образом анимировалось (и помните, что прокрутка является наиболее распространенным типом анимации).Кроме того, я могу воссоздать ситуации, когда «cornerRadius» вызывает ошибки рендеринга на старых устройствах (iPhone 3G в моем случае), когда мои представления становятся сложными.Для ситуаций, когда вам нужны производительные анимации, вот рекомендации, которым я следую.
Во-первых, если вам нужны только ресурсы с одной кривой для закругленных углов (разные масштабы хороши, если желаемая кривизна одинакова), сохраните их таким образом, чтобы избежать дополнительного вычисления "cornerRadius "во время выполнения.
Во-вторых, не используйте прозрачность там, где вам это не нужно (например, когда фон на самом деле является сплошным цветом), и всегда указывайте правильное значение для" непрозрачного "свойства, чтобыпомочь системе более эффективно рассчитать чертеж.
В-третьих, найдите способы минимизировать размер прозрачных видов.Например, для большого представления границы с прозрачными элементами (например, закругленными углами) рассмотрите возможность разделения вида на 3 (верхняя, средняя, нижняя) или 7 (4 угла, верхняя средняя, средняя, нижняя средняя) части, сохраняя прозрачные частикак можно меньше и пометить прямоугольные части как непрозрачные, со сплошным фоном.
В-четвертых, в ситуациях, когда вы рисуете много текста в scrollViews (например, сильно настроенный UITableViewCell), рассмотрите возможность использования drawRect:способ сделать эти части более эффективными.Продолжайте использовать подпредставления для элементов изображения, чтобы разделить время рендеринга между общим видом между предварительным рисунком (подпредставлениями) и изображением "точно в срок" (drawRect :).Очевидно, что эксперименты (кадры в секунду при прокрутке) могут показать, что нарушение этого «правила большого пальца» может быть оптимальным для ваших конкретных представлений.
Наконец, убедитесь, что у вас есть достаточно времени для экспериментов с использованием профилирования.инструменты (особенно CoreAnimation) является ключевым.Я считаю, что легче всего увидеть улучшения, используя самое медленное устройство, на которое вы хотите ориентироваться, и результаты выглядят великолепно на новых устройствах.