ios_coreAnimation_03
2017-01-09 17:05:03 0 举报
test
作者其他创作
大纲/内容
我们要做的
视图上有太多的 layer 或者几何形状
过度消耗CPU/GPU导致掉帧
太多的overdraw:由于一些半透明的 layer 相互重叠造成的
隐藏的绘制:CATextLayer 和 UILabel 改了一个包含 text 的 view 的 frame 的话,text 会被重新绘制。
渲染优化时应注意
设置 view 的 backgroundColor 为一个固定的,不透明的 color。
视图的延后载入:如点击button做视图载入nib、数据载入datasource
离屏绘制: 使用 Rounded corner, layer masks, drop shadows 的效果可以使用 stretchable images
离屏的绘制:如 rounded corners,layer masks,drop shadows 和 layer rasterization
如果一个 view 是不透明的,设置 opaque 属性为 YES。(直接告诉程序这个是不透明的,而不是让程序去计算)
图片解压:用 imageNamed:从 bundle 里加载会立马解压
Blending and Overdraw :如果一个 layer 被另一个 layer 完全遮盖,GPU 会做优化不渲染被遮盖的 layer,但是计算一个 layer 是否被另一个 layer 完全遮盖是很耗 cpu 的
Rasterize:当使用 layer 的 shouldRasterize 的时候,layer 会被强制绘制到一个 offscreen image 上,并且会被缓存起来。
0 条评论
下一页