美文网首页
001性能优化-01-重要概念

001性能优化-01-重要概念

作者: 修_远 | 来源:发表于2020-06-16 16:54 被阅读0次

    [TOC]

    优化的方向

    我们经常听到性能优化,但性能到底指啥呢,性能优化具体是优化啥,把这个问题搞懂了,性能优化就入门了。

    常见的优化有三种:

    • 界面优化
    • 内存优化
    • 启动优化

    FPS

    FPS(屏幕刷新率)

    • 性能优化中最具参考价值的属性
    • iPhone 推荐的默认刷新率是 60Hz,也就是说 GPU 没秒中刷新屏幕 60 次,每刷新一次就是一帧 frame,FPS也是指没秒刷新多少帧画面。
    • 精致不变的 FPS 值是0,这个值没有参考意义,只有当页面执行动画或者滑动的时候,FPS值才会有参考价值
    • FPS值提现了页面的流畅成都高低
    • 当低于45时,卡顿效果比较明显。

    图层混合

    • 像素 RGB

      每一个layer是一个纹理,所有的纹理都以某种方式堆叠在彼此的顶部。对于屏幕上的每一给像素,GPU需要算出怎么混合这些纹理来得到像素 RGB 的值。

      Sa = 0.5 时,RGB的值为(0.5, 0, 0)

      可以看出,当两个不是完全不透明的 CALayer 覆盖在一起时,GPU会做大量的复合操作,随着这种操作越多,GPU 越忙碌,性能肯定会受到影响。

    • 公式

      R = S + D * (1 - Sa)

      • R:像素RGB
      • S:源色彩(顶端纹理)
      • D:目标颜色(低一层的纹理)
      • Sa:源色彩的透明度

      Sa=1 时, R=S,GPU 将不会做任何合成,而是加你单从这个层拷贝,不需要考虑它下方的任何东西(因为都被他遮挡住了),这样就节省了GPU相当大量的工作量。

    性能优化手段

    • 利用性能分析工具检测,包括静态 Analyze 工具,以及运行时 profile 工具,通过 xcode 工具栏中的 product-> profile 可以启动
    • 比如测试程序启动运行时间,当点击 Time Profile 应用程序开始运行后,就能获取到整个运行程序运行消耗时间分布和百分比。为了保证数据分析在同一使用场景真实,需要使用真机,模拟器是运行在 Mac 上,Mac的 CPU 往往比 iOS 设备快。
    • 为了防止一个应用占用过多的系统资源,开发iOS的苹果工程师门设计了一个“看门狗”的机制。在不 同的场景下,“看门狗”会监测应用的性能。如果超出了该场景所规定的运行时间,“看门狗”就会强制 终结这个应用的进程。开发者们在 crashlog 里面,会看到诸如 0x8badf00d 这样的错误代码。

    相关文章

      网友评论

          本文标题:001性能优化-01-重要概念

          本文链接:https://www.haomeiwen.com/subject/seyrxktx.html