• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Harley
博客园    首页    新随笔    联系   管理    订阅  订阅
2017年10月5日
缓存(图像 IO 14.2)
摘要: 缓存 如果有很多张图片要显示,最好不要提前把所有都加载进来,而是应该当移出屏幕之后立刻销毁。通过选择性的缓存,你就可以避免来回滚动时图片重复性的加载了。 缓存其实很简单:就是存储昂贵计算后的结果(或者是从闪存或者网络加载的文件)在内存中,以便后续使用,这样访问起来很快。问题在于缓存本质上是一个权衡过 阅读全文
posted @ 2017-10-05 23:36 Harely 阅读(227) 评论(0) 推荐(0)
加载和潜伏(图像 IO 14.1)
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2017-10-05 23:11 Harely 阅读(0) 评论(0) 推荐(0)
异步绘制(高效绘图 13.4)
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2017-10-05 22:53 Harely 阅读(2) 评论(0) 推荐(0)
脏矩形(高效绘图 13.3)
摘要: 脏矩形 有时候用CAShapeLayer或者其他矢量图形图层替代Core Graphics并不是那么切实可行。比如我们的绘图应用:我们用线条完美地完成了矢量绘制。但是设想一下如果我们能进一步提高应用的性能,让它就像一个黑板一样工作,然后用『粉笔』来绘制线条。模拟粉笔最简单的方法就是用一个『线刷』图片 阅读全文
posted @ 2017-10-05 22:51 Harely 阅读(1890) 评论(0) 推荐(0)
矢量图形(高效绘图 13.2)
摘要: 矢量图形 我们用Core Graphics来绘图的一个通常原因就是只是用图片或是图层效果不能轻易地绘制出矢量图形。矢量绘图包含一下这些: 任意多边形(不仅仅是一个矩形) 斜线或曲线 文本 渐变 举个例子,清单13.1 展示了一个基本的画线应用。这个应用将用户的触摸手势转换成一个UIBezierPat 阅读全文
posted @ 2017-10-05 22:35 Harely 阅读(702) 评论(0) 推荐(0)
软件绘图(高效绘图 13.1)
摘要: 软件绘图 术语绘图通常在Core Animation的上下文中指代软件绘图(意即:不由GPU协助的绘图)。在iOS中,软件绘图通常是由Core Graphics框架完成来完成。但是,在一些必要的情况下,相比Core Animation和OpenGL,Core Graphics要慢了不少。 软件绘图不 阅读全文
posted @ 2017-10-05 21:39 Harely 阅读(252) 评论(0) 推荐(0)
Instruments(性能调优 12.3)
摘要: Instruments Instruments是Xcode套件中没有被充分利用的一个工具。很多iOS开发者从没用过Instruments,或者只是用Leaks工具检测循环引用。实际上有很多Instruments工具,包括为动画性能调优的东西。 你可以通过在菜单中选择Profile选项来打开Instr 阅读全文
posted @ 2017-10-05 21:32 Harely 阅读(1680) 评论(0) 推荐(0)
测量,而不是猜测(性能调优 12.2)
摘要: 测量,而不是猜测 于是现在你知道有哪些点可能会影响动画性能,那该如何修复呢?好吧,其实不需要。有很多种诡计来优化动画,但如果盲目使用的话,可能会造成更多性能上的问题,而不是修复。 如何正确的测量而不是猜测这点很重要。根据性能相关的知识写出代码不同于仓促的优化。前者很好,后者实际上就是在浪费时间。 那 阅读全文
posted @ 2017-10-05 20:07 Harely 阅读(179) 评论(0) 推荐(0)
CPU VS GPU(性能调优 12.1)
摘要: CPU VS GPU 关于绘图和动画有两种处理的方式:CPU(中央处理器)和GPU(图形处理器)。在现代iOS设备中,都有可以运行不同软件的可编程芯片,但是由于历史原因,我们可以说CPU所做的工作都在软件层面,而GPU在硬件层面。 总的来说,我们可以用软件(使用CPU)做任何事情,但是对于图像处理, 阅读全文
posted @ 2017-10-05 20:05 Harely 阅读(1242) 评论(0) 推荐(0)
物理模拟(基于定时器的动画 11.2)
摘要: 物理模拟 即使使用了基于定时器的动画来复制第10章中关键帧的行为,但还是会有一些本质上的区别:在关键帧的实现中,我们提前计算了所有帧,但是在新的解决方案中,我们实际上实在按需要在计算。意义在于我们可以根据用户输入实时修改动画的逻辑,或者和别的实时动画系统例如物理引擎进行整合。 Chipmunk 我们 阅读全文
posted @ 2017-10-05 20:02 Harely 阅读(731) 评论(0) 推荐(0)
定时帧(基于定时器的动画 11.1)
摘要: 定时帧 动画看起来是用来显示一段连续的运动过程,但实际上当在固定位置上展示像素的时候并不能做到这一点。一般来说这种显示都无法做到连续的移动,能做的仅仅是足够快地展示一系列静态图片,只是看起来像是做了运动。 我们之前提到过iOS按照每秒60次刷新屏幕,然后CAAnimation计算出需要展示的新的帧, 阅读全文
posted @ 2017-10-05 12:21 Harely 阅读(720) 评论(0) 推荐(0)
自定义缓冲函数(缓冲 10.2)
摘要: 自定义缓冲函数 在第八章中,我们给时钟项目添加了动画。看起来很赞,但是如果有合适的缓冲函数就更好了。在显示世界中,钟表指针转动的时候,通常起步很慢,然后迅速啪地一声,最后缓冲到终点。但是标准的缓冲函数在这里每一个适合它,那该如何创建一个新的呢? 除了+functionWithName:之外,CAMe 阅读全文
posted @ 2017-10-05 11:37 Harely 阅读(957) 评论(0) 推荐(0)
动画速度(缓冲 10.1)
摘要: 动画速度 动画实际上就是一段时间内的变化,这就暗示了变化一定是随着某个特定的速率进行。速率由以下公式计算而来: 这里的变化可以指的是一个物体移动的距离,时间指动画持续的时长,用这样的一个移动可以更加形象的描述(比如position和bounds属性的动画),但实际上它应用于任意可以做动画的属性(比如 阅读全文
posted @ 2017-10-05 09:45 Harely 阅读(1142) 评论(0) 推荐(0)
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3