我将场景存储在数组中,作为由点序列表示的形状集合。我正在使用CGContextMoveToPoint、CGContextAddLineToPoint、CGContextSetFillColorWithColor和CGContextFillPath函数绘制此场景。问题是我需要在计时器事件上重新绘制场景,间隔很短(0.01秒),场景重新绘制非常慢。有没有办法加速这些东西?还是只有OpenGLES能帮我?
发布于 2010-11-04 05:04:19
Quartz 2D (核心图形)图形在iPhone上不会加速。路径填充也可能是CPU限制的。如果需要硬件加速,则必须将场景转化为OpenGL ES (三角形条带和纹理)。即使使用OpenGL ES,您也必须很好地优化您的图形,以获得60 Hz的帧频(0.017秒)。
另一种可能是将形状预先渲染到CALayers中,然后只需对层进行动画处理(缩放、旋转、覆盖、隐藏等)。CALayer动画也是硬件辅助的。
https://stackoverflow.com/questions/4091235
复制相似问题