我正在构建一个动画绘图应用程序。简而言之,用户将绘制路径,并根据各种设置对这些路径进行动画处理。路径可能会抖动,起伏或在颜色之间褪色等。
动画是作为纯渲染函数实现的,该函数接受状态并返回UIImage。我有一个UIView
,它以一定的帧频请求每个新帧,并依次设置image属性。
但是,当用户添加新的点和路径(通过在主工程图视图上安装的touchesMoved或panGesture)时,动画将完全停止。
似乎,由于用户正在与主线程上的视图进行交互,因此这会阻止图形也在主线程上得到处理。我试图将渲染移到后台队列,但这不能解决问题。
当然,有许多绘图应用程序既满足实时内容的要求,又具有实时添加新内容的能力。如何满足这两个要求?