当前位置: 首页 > article >正文

Android 层和屏幕

层和屏幕

层和屏幕是两个基元,用于表示合成工作以及与屏幕硬件的交互。

层是合成的最重要单元。层是 SurfaceSurfaceControl 实例的组合。每个层都有一组属性,用于定义它与其他层的交互方式。层属性如下表所述。

属性说明
定位定义层在其屏幕上的显示位置。包括层边缘的位置及其相对于其他层的 Z 顺序(指示该层在其他层之前还是之后)等信息。
合成定义层应如何与其他层合成。包括混合模式和用于 Alpha 合成的全层 Alpha 值等信息。
内容定义应如何在定位属性定义的边界内呈现层上显示的内容。包括诸如剪裁(用来扩展内容的一部分以填充层的边界)和转换(用来显示旋转或翻转的内容)等信息。
优化提供对于正确合成层并非绝对必要但可由硬件混合渲染器 (HWC) 设备用来优化合成执行方式的信息。包括层的可见区域以及层的哪个部分自上一帧以来已经更新等信息。

虚拟屏幕

SurfaceFlinger 支持一个内部屏幕(内置于手机或平板电脑中的屏幕)、一个外部屏幕(如通过 HDMI 连接的电视)以及一个或多个令合成的输出在系统中可用的虚拟屏幕。虚拟屏幕可用于记录屏幕信息或通过网络发送屏幕信息。为虚拟屏幕生成的帧会写入 BufferQueue。
虚拟屏幕可以与主屏幕共享相同的一组层(层堆叠),也可拥有自己的一组层。虚拟屏幕没有 VSYNC,因此内部屏幕的 VSYNC 可为所有屏幕触发合成。
在支持虚拟屏幕的 HWC 实现中,虚拟屏幕可以与 OpenGL ES (GLES)、HWC 或者 GLES 及 HWC 合成在一起。在不支持虚拟屏幕的实现中,虚拟屏幕始终使用 GLES 进行合成。


http://www.kler.cn/a/13892.html

相关文章:

  • 【测试面试】你要的宝典,软件接口测试面试题大全(总结)--附答案
  • 脉诊在现代医学中的应用与局限性
  • 4月19号软件更新资讯合集....
  • 条码控件Aspose.BarCode入门教程(8):C#从图像中读取条形码
  • Android12 人脸解锁如何默认打开活体检测功能
  • GPT模型支持下的Python-GEE遥感云大数据分析、管理与可视化技术及多领域案例实践
  • 让人悲观的国内ChatGPT的未来
  • IS220UCSAH1A利用电子和空穴两种载流子导电的,所以叫做双极型电路
  • 贝叶斯优化算法
  • 24.滑块模块
  • kubespray v2.21.0 部署 kubernetes v1.24.0 集群
  • 【华为OD机试真题 C++】1055 - 模拟商场优惠打折II | 机试题+算法思路+考点+代码解析
  • C++(11):通过变成模板实现线程安全调用api
  • diffusion扩散模型之hello world
  • 部署Hexo教程(以及博主成功踩的各种雷)
  • 如何正确选择集体渲染(云渲染)和gpu离线渲染
  • Android---屏幕适配
  • MySQL的内置函数
  • Linux新的设备或分区挂载到系统中mount使用方法
  • 540. 有序数组中的单一元素