ios系统的图形和描画
来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:51 点击:次
1. ios提供了两种高质量的图形绘制方法: a. OpenGL ES进行渲染 b.Quartz,Core Animation, UIKit进行绘制
2. OpenGL ES框架主要适用于游戏或者高帧率的应用程序开发。基于C语言的接口,用于创建2D和3D内容。
UIKit的图形系统www.2cto.com
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.
相关新闻>>
- 发表评论
-
- 最新评论 更多>>
今日头条
更多>>您可能感兴趣的文章
- iPhone应用开发之十一:常用的三种动画表现效果
- (iPhone/iPad开发)presentViewController相应方法在SDK5.0前后
- Memory on the iPhone
- ios学习笔记(二)xcode 4.3.2下实现基本交互
- iPhone开发学习笔记006—— NSNotification自定义通知名
- iphone开发之object c基础一定义接口
- 多线程之NSInvocationOperation
- ios开发问题:添加库和复制其它工程文件编译错误问题
- Lexical or Preprocessor Issue 'xxx.h
- Android:实现TabWidget选项卡按钮在屏幕下方