news 2026/6/10 16:31:25

Android 渲染(一):刷新机制

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Android 渲染(一):刷新机制

概念

  • 硬件
    • CPU:三大绘制流程中Surface的计算。
    • GPU:以SurfaceFlinger服务的形式工作,将CPU计算好的Surface数据合成后放到buffer中,让显示器进行读取
    • 屏幕刷新率:屏幕在1s内去buffer中取数据的次数,单位为HZ。主流屏幕刷新频率是每秒60次,高的有90,120等。
  • 软件
    • 60 fps 的意思是说,画面每秒更新 60 次,也就是 16.67 ms 刷新一次
    • FPS 则是由 Vsync 来控制的,Vsync 是通过 Choreographer 来控制应用刷新的频率的。
    • 每隔 16.6 ms,Vsync 信号到来唤醒 Choreographer 来做 App 的绘制操作。
    • Vsync 信号到来的时候,Choreographer 借助 Message 机制开始一帧的绘制工作

用户感知

  • 卡顿:如果主线程 + 渲染线程每一帧的执行都超过 16.6ms(60fps 的情况下),那么就可能会出现掉帧、丢帧。如果是APP端没有及时渲染,而BufferQueue中还有未消费的缓冲,可能就不会有掉帧现象。
  • 画面撕裂:帧率和屏幕刷新率的不一致导致的,不会丢失。
  • ANR:如果界面线程被阻塞超过几秒钟时间(根据组件不同 , 这里的阈值也不同),用户会看到 “应用无响应” (ANR) 对话框(部分厂商屏蔽了这个弹框,会直接 Crash 到桌面)

刷新机制

  • Android 4.1加入垂直同步技术(VSYNC),以及三重缓冲技术(Triple Buffer)
  • VSync(垂直同步信号)(Vsync-App Vsync-SF lockAsync)
    • 硬件屏幕保持固定频率会发出的一个脉冲信号
    • 提醒CPU立即进入屏幕绘制过程;提醒GPU进行buffer的交换
    • Vsync-SF:将所有准备好的 Buffer 取出进行合成
  • Triple Buffer
    • 一个用于GPU的合成,一个用于屏幕的刷新,一个在Jank时最大限度避免CPU空闲。Jank可能掉帧。
    • 会有前后交换buffer,没有准备好的情况Jank。此时,需要第三个buffer最大限度避免CPU空闲的情况。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 11:18:51

iOS设备调试兼容性终极解决方案:iOSDeviceSupport项目完整指南

iOS设备调试兼容性终极解决方案:iOSDeviceSupport项目完整指南 【免费下载链接】iOSDeviceSupport All versions of iOS Device Support 项目地址: https://gitcode.com/gh_mirrors/ios/iOSDeviceSupport 你是否曾遇到过这样的困境:iPhone已经升级…

作者头像 李华
网站建设 2026/6/10 11:17:28

视频分析神器video-analyzer:3步教你用AI看懂任何视频内容

视频分析神器video-analyzer:3步教你用AI看懂任何视频内容 【免费下载链接】video-analyzer A comprehensive video analysis tool that combines computer vision, audio transcription, and natural language processing to generate detailed descriptions of vi…

作者头像 李华
网站建设 2026/6/10 11:19:12

TVM量化部署实战:CUDA平台上的模型压缩与推理优化

TVM量化部署实战:CUDA平台上的模型压缩与推理优化 【免费下载链接】tvm-cn TVM Documentation in Chinese Simplified / TVM 中文文档 项目地址: https://gitcode.com/gh_mirrors/tv/tvm-cn 量化原理深度解析 模型量化就像把高清视频转成标清格式——虽然损…

作者头像 李华
网站建设 2026/6/10 10:36:38

Windows系统依赖组件一键修复终极指南:快速解决软件运行难题

Windows系统依赖组件一键修复终极指南:快速解决软件运行难题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist Visual C运行库是Windows系统中至关重要…

作者头像 李华
网站建设 2026/6/10 7:49:33

6、深入实践 I/O、重定向、管道和过滤器

深入实践 I/O、重定向、管道和过滤器 在命令行操作中,I/O、重定向、管道和过滤器是非常实用的工具。它们可以帮助我们更高效地处理数据、管理文件和监控系统。下面将详细介绍这些工具的使用方法和应用场景。 1. 使用 tee 命令输出到标准输出并追加到文件 tee 命令允许我们…

作者头像 李华
网站建设 2026/6/10 7:51:22

抖音无水印下载器终极指南:轻松保存高清原画质视频

你是不是经常在抖音上看到精彩视频想要保存,却苦于水印破坏画面美感?🤔 别担心,今天我要为你介绍一款超实用的抖音无水印下载神器,让你轻松收藏每一个心动瞬间! 【免费下载链接】douyin_downloader 抖音短视…

作者头像 李华