Android的UI渲染机制(二)

安卓系统中有 2 种 vsync 信号: 

(1)屏幕产生的硬件 vsync信号,主要用于通知应用程序开始在自己的窗口“画布”中执行一帧画面的绘制和渲染

(2)由SurfaceFlinger将其转成的软件 vsync 信号,经由 Binder 传递给 Choreographer。在该信号到来时执行合成,最终渲染至屏幕上。

        如果VSync到来时, 缓冲中的内容未准备好,就可能导致卡顿。所谓掉帧, 其实帧并未丢弃, 只是延迟显示。屏幕每收到vsync信号刷新一次, 但若当前绘制内容未准备好, 则显示上一次的内容。

        当界面有变化或者主动调用invalidate申请重绘, 会首先标记当前UI需要重新绘制,但绘制不是同步的,只有当下一次vsync信号到来时, 才会执行measure/layout/draw开始绘制。上屏幕则是收到下一个vsync信号时进行。

        如果CPU绘制的速率跟不上屏幕刷新速率,如果将部分绘制完成的内容就提交上屏,就会导致只显示部分画面的问题。

        为解决这一问题,Android引入了双缓冲策略, 即增加一个backing_buffer, 只有一帧完成渲染后, 才将内容从backing_buffer交换到frame_buffer。如下图所示。

       

        但双缓冲策略仍然存在一个缺陷,由于每次都是在收到下一个vsync信号才开始绘制, 一旦上一帧出现jank, 由于backing_buffer还在占用, 下一帧的绘制会被延迟到下下一个vsync开始。

        实际上,我们可以另外再开辟一个buffer,替代被占用的backing_buffer,下一帧仍然在vsync到来时就开始绘制,这就是三缓冲策略。

     

        三缓冲策略更加充分利用了CPU的计算能力,可以减少后续出现jank的几率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743739.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql不能远程连接的解决办法

问题: 安装完mysql之后,在本机可以正常使用,但是通过其它电脑不能远程连接. 解决方案: 在安装mysql的电脑上,登录mysql, 执行权限 GRANT ALL PRIVILEGES ON *.* TO root"%" IDENTIFIED BY "password"; 刷新权限 flush privileges;

【机器学习】一文掌握逻辑回归全部核心点(上)。

逻辑回归核心点-上 1、引言2、逻辑回归核心点2.1 定义与目的2.2 模型原理2.2.1 定义解析2.2.2 公式2.2.3 代码示例 2.3 损失函数与优化2.3.1 定义解析2.3.2 公式2.3.3 代码示例 2.4 正则化2.4.1 分类2.4.2 L1正则化2.4.3 L2正则化2.4.4 代码示例 3、总结 1、引言 小屌丝&#…

xcode15,个推推送SDK闪退问题处理办法

个推iOS推送SDK最新版本 优化了xcode15部分场景下崩溃问题,以及回执上传问题,近期您的应用有发版计划,建议更新SDK: 1)GTSDK更新到3.0.5.0以及以上版本; 2)GTCommonSDK更新到3.1.0.0及以上版本…

如何进行软件安全性测试?CMA、CNAS软件安全测试报告获取

软件安全性测试是保障软件应用安全的重要手段,通过对软件系统的安全性进行全面评估和检测,以确保软件能够抵御各种潜在的安全威胁和风险。那么如何进行软件安全性测试?CMA、CNAS软件安全测试报告又该如何获取呢? 软件安全性测试是一种基于黑盒测试的方…

齐鲁制药集团勇担社会责任,以行动诠释担当

作为一家深具家国情怀的医药企业,齐鲁制药集团在专注药品创新与品质升级的同时,始终谨记企业公民的社会责任,凭借在医药健康领域的专业优势,数十年如一日参与各类社会公益事业,时至今日,齐鲁足迹早已遍布全…

【数据结构】二叉树---AVL树的实现

目录 一. 什么是AVL树 二. AVL树的结点结构定义 三. AVL树的动态平衡法 1. 左单旋转 --- RL(RotateLeft) 型调整操作 2. 右单旋转 --- RR(RotateRight) 型调整操作 3. 先左后右双旋转 --- RLR (RotateLeftRight) 型调整操作 4. 先右后左双旋转 --- RRL (RotateRightL…

综合利用Cisco Packet Tracer模拟器配置园区网

1. 内容 1.在课室交换机中创建各个课室的VLAN,并将1-20端口平均分配给各个课室。 2.使用课室交换机的每个端口只能接入一台计算机,发现违规就丢弃未定义地址的包。3.网络内部使用DHCP分配各课室的IP地址,在课室交换机按照第一题划分的VLAN地…

Linux/BountyHunter

Enumeration nmap 第一次扫描发现系统对外开放了21,22,80端口,端口详细信息如下 和以前一样,先从80端口的http服务开始探索 TCP/80 访问站点,主页有三个按钮,about,contact和portal。看起来…

3D全景:为各行业提供更真实的交互体验

近年来,随着科技的不断发展,3D全景技术逐渐融入到了我们的日常生活中来。3D全景技术的应用落地,为广大用户提供了全新的视觉体验,让人们能够更加真实、直观地感受各行业的场景。 3D全景的优势就在于真实感和互动性,可以…

原型模式(Clone)——创建型模式

原型模式(clone)——创建型模式 什么是原型模式? 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需依赖它们所属的类。 总结:需要在继承体系下,实现一个clone接口,在这个方法中以本身作为拷…

openssl3.2 - exp - export ecc pubkey from ecc priv key

文章目录 openssl3.2 - exp - export ecc pubkey from ecc priv key概述笔记END openssl3.2 - exp - export ecc pubkey from ecc priv key 概述 前面实验已经生成了ECC私钥, 现在做从ECC私钥(内容为公私钥对, 里面既有私钥信息, 也有公钥信息)导出ECC公钥. 实验对应的命令行…

v-model 粗略解析

v-model 粗略解析 v-model是什么? 双向数据绑定,可以从data流向页面,也可以从页面流向data通常用于表单收集,v-model 默认绑定 value 值书写形式: v-model:value"" 或 v-model v-model原理是什么&#xf…

信道模拟器广泛应用于通信产业 我国企业竞争力不断提高

信道模拟器广泛应用于通信产业 我国企业竞争力不断提高 信道模拟器,模拟通信信道受环境因素影响产生各种特征的仪器,主要由接收电路、发射电路、模拟器、主控CPU等组成,可用于外场环境或者实验室环境中。 根据新思界产业研究中心发布的《202…

微信小程序一次性订阅requestSubscribeMessage授权和操作详解

一次性订阅:用户订阅一次发一次通知 一、授权 — requestSubscribeMessage Taro.requestSubscribeMessage({tmplIds: [], // 需要订阅的消息模板的id的集合success (res) {console.log("同意授权", res)},fail(res) {console.log(拒绝授权, res)}})点击或…

基于R语言piecewiseSEM结构方程模型在生态环境领域技术教程

原文链接:基于R语言piecewiseSEM结构方程模型在生态环境领域技术应用https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247597092&idx7&sn176695e746eccff68e04edda6521f131&chksmfa823dc3cdf5b4d5b77181eb1bd9a2d659ff38e23c7ea78d33bc1cc7d0…

vue3+Echarts实现中国地图

成品图: 准备工作: 1、创建一个vue3的项目 2、安装Echarts,最好是安装新版本或者比较稳定的版本 3、开发地图需要一个china.json文件 这里我就介绍一下如何获取china,json文件 阿里云 DataV - 数据可视化平台 (aliyun.com) 复制上面地址打开网…

直方图均衡化原理和实现

基本思想 将原始图像的直方图分布转换为一个均匀分布的直方图,这样原图中的高频率亮度值会被展宽,而低频率亮度值则被压缩,从而达到增强图像对比度的效果。 计算过程 假设我们有一个灰度图像,其像素值范围从0到L-1(…

达梦8数据库下载安装教程(windows)

写作不易,欢迎点赞~ 这里多说一嘴,如果想从Oracle把数据迁移到达梦数据库可参考我这篇文章:https://blog.csdn.net/li836779537/article/details/136642028?spm1001.2014.3001.5502 达梦8安装包(windows) 链接&…

美国洛杉矶云服务器的亮点优势

随着云计算技术的快速发展,云服务器已成为企业、个人用户追求高效、稳定、安全数据存储和运算的重要选择。在众多云服务器中,美国洛杉矶云服务器以其独特的优势脱颖而出,受到越来越多用户的青睐。本文将为您科普美国洛杉矶云服务器的亮点优势…

C++提高笔记(三)---STL容器(vector、deque)

1、vector容器 1.1vector基本概念 功能:vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别:不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展:并不是在原空间之后续接新空间&#xff0…