1.正文

今天来讲一下为何我们讲到流畅度,要首先说 60 帧。

我们先来理一下基本的概念:

  1. 60 fps 的意思是说,画面每秒更新 60 次
  2. 这 60 次更新,是要均匀更新的,不是说一会快,一会慢,那样视觉上也会觉得不流畅
  3. 每秒 60 次,也就是 1/60 ~= 16.67 ms 要更新一次

在理解了上面的基本概念之后,我们再回到 Android 这边,为何 Android 现在的渲染机制,是使用 60 fps 作为标准呢?这主要和屏幕的刷新率有关。

1.1 基本概念

  1. 我们前面说的 60 fps,是针对软件的,我们一般称为 fps
  2. 屏幕的刷新率,是针对硬件的,现在大部分手机屏幕的刷新率,都维持在60 HZ,移动设备上一般使用60HZ,是因为移动设备对于功耗的要求更高,提高手机屏幕的刷新率,对于手机来说,逻辑功耗会随着频率的增加而线性增大,同时更高的刷新率,意味着更短的TFT数据写入时间,对屏幕设计来说难度更大。
  3. 屏幕刷新率 60 HZ 只能说够用,在目前的情况下是最优解,但是未来肯定是高刷新率屏幕的天下(2023 年的现在 120Hz 已经是 Android 手机的标配了,连 iOS 都已经上到了 120Hz),个人觉得主要依赖下面几点的突破:
  4. 电池技术
  5. 软件技术
  6. 硬件能力

目前的情况下

  1. 60 FPS 的情况下:Android 的渲染机制是 16.67 ms 绘制一次, 60hz 的屏幕也是 16.67 ms 刷新一次
  2. 120 FPS 的情况下:Android 的渲染机制是 8.33 ms 绘制一次, 120hz 的屏幕也是 8.33 ms 刷新一次

1.2 效果提升

如果要提升,那么软件和硬件需要一起提升,光提升其中一个,是基本没有效果的,比如你屏幕刷新率是 75 hz,软件是 60 fps,每秒软件渲染60次,你刷新 75 次,是没有啥效果的,除了重复帧率费电;同样,如果你屏幕刷新率是 30 hz,软件是 60 fps,那么软件每秒绘制的60次有一半是没有显示就被抛弃了的。

如果你想体验120hz 刷新率的屏幕,建议你试试 ipad pro ,用过之后你会觉得,60 hz 的屏幕确实有改善的空间。

这一篇主要是简单介绍,如果你想更深入的去了解,可以去 Google 一下,另外 Google 出过一个短视频,介绍了 Why 60 fps, 有条件FQ的同学可以去看看 :

  1. Why 60 fps
  2. 玩游戏为何要60帧才流畅,电影却只需24帧

下面这张图是 Android 应用在一帧内所需要完成的任务,后续我们还会详细讲这个:

Android Systrace 基础知识 -- Why 60 fps ?的更多相关文章

  1. Android零基础入门第60节:日历视图CalendarView和定时器Chronometer

    原文:Android零基础入门第60节:日历视图CalendarView和定时器Chronometer 上一期学习了AnalogClock.DigitalClock和TextClock时钟组件,本期继 ...

  2. android图形基础知识

    Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 2010-06-13 22:49 18223人阅读 评论(18) 收藏 举报 AndroidGDI基本框架 在An ...

  3. Android 应用基础知识和应用组件

    应用基础知识 安装到设备后,每个 Android 应用都运行在自己的安全沙箱内: Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户: 默认情况下,系统会为每个应 ...

  4. Appium+python自动化(十五)- Android 这些基础知识,你知多少???(超详解)

    简介 前边具体操作和实战已经讲解和分享了很多了,但是一些android的一些基础知识,你又知道多少了,你都掌握了吗?这篇就由宏哥给小伙伴们既是一个分享,又是对前边的一次总结.为什么要对这些做一个简单的 ...

  5. Android自动化测试基础知识——MONKEY测试工具(转的)

    本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...

  6. android屏幕基础知识

    首先,先来上一张图,看看android屏幕分辨率的占比情况 什么是dp,dip,dpi,sp.px ?之间的关系是什么? px:构成图像的最小单位 dp/dip:密度无关像素 以160dpi为基准 1 ...

  7. android一些基础知识

    android应用基于JAVA, 支持SQL,由于底层是LINUX,所以支持C/C++ 目前有两种编程:基于ADT的JAVA编程,基于NDK的C编程 Android编程环境需要哪些:官方推荐用JDK+ ...

  8. Android PackageManager基础知识

    一.PackageManagerService启动过程 SystemServer首先启动,创建一个ServerThread线程来启动所有Android核心服务,其中PackageManagerServ ...

  9. 安卓(Android)开发基础知识

    .aar文件 .aar是一种压缩文件,和.jar类似,不过它可以包含资源文件,例如图片.drawable.xml资源 .jar文件 在软件领域,JAR文件(Java归档,英语:Java ARchive ...

  10. Android Service基础知识你知道多少?

    Android四大组件-Service 多次调用startService会怎样?会执行多次onCreate吗? StopService在哪里调用?stopSelf在哪调用? 怎样使Service被ki ...

随机推荐

  1. httpURLConnection 请求发起post请求

    常见请求头,在post请求之 前先了解一下,请求相关的基础 关于post 请求的方式比get  多了很多配置,其实大致一样,本想将get示例和post写在一起,这个博客功能有时有问题 一直在灰色的编辑 ...

  2. ansible 001 ansible介绍 原理 主机清单 定义变量 提权与连接

    ansible 自动化运维 ansible 部署应用程序 (在操作系统层面之上) 系统初始化过程 主机名,yun源,网络,服务,时间同步,内核参数 (可以在pxe这里完成) ansible可以方便10 ...

  3. 【MongoDB】Re03 索引

    MongoDB的索引种类 单属性索引 MongoDB支持在文档的单个字段上创建用户定义的升序/降序索引,称为单字段索引(Single Field Index). 对于单个字段索引和排序操作,索引键的排 ...

  4. 【Java】Main方法的命令行参数

    可以使用命令行注入参数执行

  5. 计算机硕博如何快速毕业 —— “你们都说白狐是妖孽,它明明是祥瑞。” —— 请评价一下MDPI旗下的期刊质量如何?

    MDPI是一个出版集团或者说是一个出版公司,其下辖多个开放期刊. 相关: https://www.zhihu.com/question/384813035/answer/1520065909 Sens ...

  6. 修改linux系统时间由UTC改为CST(中国上海)时区

    Ubuntu系统 1. 将时间改为CST的中国上海时间: 命令: sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 或: sudo ...

  7. 从hp的暗影精灵4来看移动cpu的实际性能表现与官方出厂性能数据之间的差距

    手上有一款暗影精灵4的笔记本,CPU为i7-9750H,官方给出的睿频为4.5Ghz,但是自己使用过程中最高睿频只能达到3.9Ghz与4.1Ghz之间,根本就没有超过4.1Ghz的时候. (图的原网址 ...

  8. 从Web服务器的攻击防御工具HttpGuard(防cc攻击等)看Web服务器的反爬虫设置 —— 如何优化爬虫的性能

    HttpGuard网址: https://github.com/centos-bz/HttpGuard 从https://vv1234.cn/archives/243.html可知,如果同个IP的访问 ...

  9. JAVA集合专题之深入学习

    1.背景 集合虽然用起来非常简单... 但是面试确问得很多,很深.... 最重要的是集合的设计里面使用了大量的非常典型的多线程设计... 如果能把集合中的源码学一遍,相信你的多线程功底会大大提升... ...

  10. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-65 - Canvas元素推拽-番外篇

    1.简介 上一篇宏哥想了好多办法都没有演示成功的拖拽Canvas元素,宏哥也说的太绝对了,给大家造成困惑或者误导.一连好几天吃饭睡觉都不怎么香了,脑子中始终对这件事耿耿于怀,自己问自己难道就真的没有办 ...