Я пишу игру, которая отображает 56 шестигранных фигур, заполняющих экран в форме доски. В настоящее время я рисую каждую часть с помощью одноэлементного класса рендеринга, который при вызове для рисования части создает путь из 6 точек на основе переданной координаты. Этот путь заполнен сплошным цветом, а затем 59x59 png с альфа-каналом для белый градиент накладывается на рисунок, чтобы придать образу блестящий вид. Обратите внимание, что в настоящее время я делаю это в Core Graphics.
Моя первая мысль состоит в том, что создание пути каждый раз, когда я рисую, является дорогостоящим, и кажется, что я могу как-то сделать это один раз, а затем использовать его повторно, но я не уверен в наилучшем подходе для этого. Когда я смотрю на узкие места с Акулой, кажется, что рисование PNG - самая сложная часть процесса. Я попытался просто отрисовать оверлей png или просто отрисовать путь без оверлея, и оба дают мне некоторое усиление кадра, хотя удаление оверлея png дает большинство кадров.
Моя текущая мысль заключается в том, что при запуске я должен отрисовать 6 контуров (по 1 для каждого имеющегося у меня цветного фрагмента) и наложить их на png, а затем сохранить изображение этих фрагментов, а затем просто перерисовывать фрагменты каждый раз, когда они мне понадобятся , Есть ли эффективный механизм для хранения того, что вы когда-то рисовали, и перерисовывания? Это просто звучит так, как будто я снова слишком часто сталкиваюсь с рисованием pngs, но, возможно, есть менее затратный метод, который делает подобное ...
Любые предложения очень ценятся.
Спасибо!