Android Systrace 基础知识 -- Why 60 fps ?
1.正文
今天来讲一下为何我们讲到流畅度,要首先说 60 帧。
我们先来理一下基本的概念:
- 60 fps 的意思是说,画面每秒更新 60 次
- 这 60 次更新,是要均匀更新的,不是说一会快,一会慢,那样视觉上也会觉得不流畅
- 每秒 60 次,也就是 1/60 ~= 16.67 ms 要更新一次
在理解了上面的基本概念之后,我们再回到 Android 这边,为何 Android 现在的渲染机制,是使用 60 fps 作为标准呢?这主要和屏幕的刷新率有关。
1.1 基本概念
- 我们前面说的 60 fps,是针对软件的,我们一般称为 fps
- 屏幕的刷新率,是针对硬件的,现在大部分手机屏幕的刷新率,都维持在60 HZ,移动设备上一般使用60HZ,是因为移动设备对于功耗的要求更高,提高手机屏幕的刷新率,对于手机来说,逻辑功耗会随着频率的增加而线性增大,同时更高的刷新率,意味着更短的TFT数据写入时间,对屏幕设计来说难度更大。
- 屏幕刷新率 60 HZ 只能说够用,在目前的情况下是最优解,但是未来肯定是高刷新率屏幕的天下(2023 年的现在 120Hz 已经是 Android 手机的标配了,连 iOS 都已经上到了 120Hz),个人觉得主要依赖下面几点的突破:
- 电池技术
- 软件技术
- 硬件能力
目前的情况下
- 60 FPS 的情况下:Android 的渲染机制是 16.67 ms 绘制一次, 60hz 的屏幕也是 16.67 ms 刷新一次
- 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的同学可以去看看 :
下面这张图是 Android 应用在一帧内所需要完成的任务,后续我们还会详细讲这个:
Android Systrace 基础知识 -- Why 60 fps ?的更多相关文章
- Android零基础入门第60节:日历视图CalendarView和定时器Chronometer
原文:Android零基础入门第60节:日历视图CalendarView和定时器Chronometer 上一期学习了AnalogClock.DigitalClock和TextClock时钟组件,本期继 ...
- android图形基础知识
Android核心分析(23)-----Andoird GDI之基本原理及其总体框架 2010-06-13 22:49 18223人阅读 评论(18) 收藏 举报 AndroidGDI基本框架 在An ...
- Android 应用基础知识和应用组件
应用基础知识 安装到设备后,每个 Android 应用都运行在自己的安全沙箱内: Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户: 默认情况下,系统会为每个应 ...
- Appium+python自动化(十五)- Android 这些基础知识,你知多少???(超详解)
简介 前边具体操作和实战已经讲解和分享了很多了,但是一些android的一些基础知识,你又知道多少了,你都掌握了吗?这篇就由宏哥给小伙伴们既是一个分享,又是对前边的一次总结.为什么要对这些做一个简单的 ...
- Android自动化测试基础知识——MONKEY测试工具(转的)
本周开始启动手机输入法simeiji的自动化测试,同时开始接触手机浏览器自动化测试.接下来会对android自动化测试工具和方法做一个专题研究. 第一篇介绍monkey测试工具. 1 自动化测试背景 ...
- android屏幕基础知识
首先,先来上一张图,看看android屏幕分辨率的占比情况 什么是dp,dip,dpi,sp.px ?之间的关系是什么? px:构成图像的最小单位 dp/dip:密度无关像素 以160dpi为基准 1 ...
- android一些基础知识
android应用基于JAVA, 支持SQL,由于底层是LINUX,所以支持C/C++ 目前有两种编程:基于ADT的JAVA编程,基于NDK的C编程 Android编程环境需要哪些:官方推荐用JDK+ ...
- Android PackageManager基础知识
一.PackageManagerService启动过程 SystemServer首先启动,创建一个ServerThread线程来启动所有Android核心服务,其中PackageManagerServ ...
- 安卓(Android)开发基础知识
.aar文件 .aar是一种压缩文件,和.jar类似,不过它可以包含资源文件,例如图片.drawable.xml资源 .jar文件 在软件领域,JAR文件(Java归档,英语:Java ARchive ...
- Android Service基础知识你知道多少?
Android四大组件-Service 多次调用startService会怎样?会执行多次onCreate吗? StopService在哪里调用?stopSelf在哪调用? 怎样使Service被ki ...
随机推荐
- golang 实现的零依赖、高性能、并发 mysqldump 工具。
mysqldump golang 中实现的零依赖.高性能.并发 mysqldump 工具. 项目地址: https://github.com/dengjiawen8955/mysqldump/blob ...
- ceph 003 对osd操作 对存储池操作 存储池配额 存储池快照 pgp
主机被加入集群时,会自动被分配角色以达到集群的默认状态.(mon,mgr之类) 想要超过默认状态可以进行设置 ceph容器与客户端 ceph集群的客户端 需要 ceph-common 软件包 ceph ...
- 【RabbitMQ】14 集群搭建
多服务器单实例 -- 参考博客: https://www.cnblogs.com/lixioayi/articles/9993658.html 首先要找到cookie文件,所有实例要保持cookie一 ...
- 不符合自身利益的科学讨论是否应该得到尊重—— 读《自家员工质疑Jeff Dean领衔的Nature论文被解雇,谷歌:我们彻查了,质疑不符合标准》有感
读了一篇博文<自家员工质疑Jeff Dean领衔的Nature论文被解雇,谷歌:我们彻查了,质疑不符合标准>,其问大致是说Google提了一篇使用reinforcement learnin ...
- 2023 CCPC 桂林题解
gym H. Sweet Sugar 一个经典贪心是从下到上,如果子树 \(u\) 剩下的部分(一定包含 \(u\))包含合法连通块,那么这个连通块给答案贡献 \(1\),切断 \(u\) 与 \(f ...
- ES7.5.2索引生命周期管理(附操作示例)
一.前言 es可以用来存储日志,一般日志存储只是短期保存,超过一定时间日志要是能自动删除最好,这样保证索引文档不会过多,查询时效性也能得到保证.本文参考的官网地址是:https://www.elast ...
- Oracle数据库安装与还原
安装Oracle 11g数据库 安装数据库参考这位大佬的文章:(135条消息) Oracle 11g版本下载及安装超详细教程图解_oracle11g下载_田夜的博客-CSDN博客 非常详细 利用dmp ...
- MATLAB 绘制 K 线图
需要安装 Financial Toolbox. % 示例数据 openPrices = [100, 102, 104, 103, 105]; highPrices = [105, 107, 106, ...
- LaTeX 插入代码
LaTeX 插入代码可以使用的宏包有 verbatim.fancyvrb.listings 以及 minted.个人最推荐使用 minted. verbatim verbatim 没有语法高亮功能,只 ...
- 【DVWA】搭建安全测试环境
一.搭建DVWA环境 用docker输入命令: docker run -d --name zc_dvwa -p 8081:80 vulnerables/web-dvwa 安装完成: 输入地址:http ...