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.

 

 

 

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • Lexical or Preprocessor Issue 'xxx.h
    • ios学习笔记(二)xcode 4.3.2下实现基本交互
    • ios版本的helloworld
    • iphone(object-c) 内存管理(3) 有效的内存管理 前半部分
    • ios学习笔记(一)xcode 4.3.2下创建第一个ios项目
    • IOS类似iphone通讯录TableView的完整demo【附源码】
    • UITableView一些方法
    • [iPhone中级]iPhone团购信息客户端的开发 (二)
    • iphone(object-c)内存管理(1)
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1