ios系统的图形和描画
2014-12-08来源:

1. ios提供了两种高质量的图形绘制方法: a. opengl es进行渲染 b.quartz,core animation, uikit进行绘制

2. opengl es框架主要适用于游戏或者高帧率的应用程序开发。基于c语言的接口,用于创建2d和3d内容。

uikit的图形系统

3. ios中所有的描画,无论opengl es, quartz, uikit, 或者core animation 都发生在uiview对象的区域内.

4. uiview调用drawrect触发视图更新的操作有以下几种情况:

a. 对遮挡视图的其他视图进行移除或者删除操作

b. 将hidden属性设置为no, 使其从隐藏变为显示状态

c. 将试图滚出屏幕,然后重新回到屏幕

d. 显示的调用setneedsdisplay或者setneedsdisplayinrect

5. 提高描画性能的方法:

a. 使重绘的区域最小

b. 尽可能将视图区域标识为不透明, opaque设置为yes

c. 删除不透明的png文件中的alpha通道, 将不透明png文件的alpha通道删除可以避免对包含该图像的图层进行融合操作,从而很大程度简化了图像的合成,提高了描画性能。

d. 滚动过程中复用已有的视图

e. 避免滚动过程中清除原先的内容,在默认情况下,调用drawrect方法对视图的某个区域进行更新之前,uikit会清除该区域的上下文缓冲区。滚动过程中如果清除缓冲区,那么代价很大, 可以将clearscontextbeforedrawing属性设置为no.

更多信息请查看IT技术专栏

推荐信息
Baidu
map