HAL/SurfaceFlinger专题之HWC和GPU合成部分更新通知

背景

hi,粉丝朋友们:
hal/surfaceflinger/perfetto专题,马哥经过若干天的努力,终于把sf最重要合成部分搞定,上传平台审核完成。
在这里插入图片描述

课程部分的截图花絮:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

目前完整课表list

1-start-intruduct.mkv  课程介绍
hal/hal-1-s.mp4 -hal发展总体介绍1
hal/hal-2.mkv  -hal发展总体介绍2
hal/hal-3.mkv  --经典hal深入讲解1
hal/hal-4-1-cut.mkv --经典hal深入实战讲解2
hal/hal-5.mp4 --经典hal深入实战讲解3
hal/hal-6.mkv --经典hal深入讲解4
hal/hidl-1.mkv --hidl深入背景讲解1
hal/hidl-2.mp4 --hidl深入讲解2
hal/hidl-3-cut.mp4 --hidl深入讲解3
hal/hidl-4-genarates.mkv  --hidl深入讲解-genarates原理
hal/hidl-5.mkv  --hidl实战部分1
hal/hidl-6.mp4  --hidl实战部分2
hal/hidl-passthrough-mapper-1.mkv  --hidl的passthrough案例分析1
hal/hidl-passthrough-mapper-2.mkv  --hidl的passthrough案例分析2
hal/vndk-1.mp4 --vndk介绍部分
hal/vndk-2.mkv --vndk讲解1
hal/vndk-3.mp4 --vndk讲解2
hal/aidl-1.mp4 --aidl深入讲解1
hal/aidl-2.mkv --aidl深入讲解2
hal/aidl-3.mp4 --aidl深入实战讲解2
hal/aidl-4.mp4 --aidl深入实战讲解2
hal/aidl-5-call-java.mp4 --aidl实战之java端调用
hal/aidl-6-update.mp4 -aidl的更新部分
hal/aidl-7-update-vinf.mp4 ----vinf相关介绍
perfetto/systrace-perfetto-1.mkv --perfetto的背景及抓取方式
perfetto/systrace-perfetto-2-base-knowlege-cut.mp4 --perfetto的查看基础知识讲解
perfetto/systrace-perfetto-3.mp4 --perfetto使用技巧及自定义tag加入方式
perfetto/systrace-perfetto-4-two-tips-small.mp4 ---perfetto使用小技巧分享
 2-surfacecontrol-Layer-1.mp4 --sf之surfacecontrol讲解1
 2-surfacecontrol-Layer-2.mkv --sf之surfacecontrol讲解2
 3-transaction-2.mkv --sf之transaction讲解1
 3-transaction.mkv --sf之transaction讲解2
vsync/1-vsync-1.mp4 --sf之vsync基础知识讲解1
vsync/2-vsync-2-workduration.mp4 --sf之vsync基础知识讲解2
vsync/3-vsync-source-1.mp4 --sf之vsync源码分析1
vsync/4-vsync-source-2-cut.mp4 --sf之vsync源码分析2
vsync/5-vsync-source-3.mp4 --sf之vsync源码分析3
vsync/6-vsync-source-4.mp4 --sf之vsync源码分析4
vsync/7-hw_adapter_sw_vsync.mp4 --sf之vsync硬件校准部分深入讲解
vsync/8-vsync-end-1-cut.mp4 --sf之vsync总结部分1
vsync/9-vsync-end-2.mp4 --sf之vsync总结部分2
vsync/10-perfetto-look-vsync-1-cut.mp4 --sf之vsync与perfetto结合分析巩固1
vsync/11-perfetto--look-vsync-2.mp4  --sf之vsync与perfetto结合分析巩固2
vsync/12-vsync-3-perfeto-apptimecallback.mp4  --sf之vsync与perfetto结合分析巩固3
vsync/13-vsync-4-perfetto-app-sf-start-end.mp4  --sf之vsync与perfetto结合分析巩固4
 commit-1-setTransaction.mp4 --sf之transaction讲解1 --sf之setTransaction部分深入讲解
 commit-2-flushTransation.mp4 --sf之flushTransation部分深入讲解
 commit-3.mkv --sf之commit部分
 cmomit-4-end-systrace.mp4  --sf之commit部分与systrace分析巩固
 
 -----------------------blastbufferqueue部分-----------------------------

blastbufferqueue-1.mkv  ---经典bufferqueue模型简单demo讲解1
blastbufferqueue-2.mp4  ---经典bufferqueue模型简单demo深入讲解2
balstbufferqueue-3.mkv  ---经典bufferqueue模型部分3
blastbufferqueue-4.mp4 ---经典bufferqueue模型部分4
blastbufferqueue-5.mp4 ---经典bufferqueue模型部分5
blastbufferqueue-6.mkv ---经典bufferqueue模型releaseBuffer
only-blast-1.mkv ---BLASTBufferQueue新特性发起和服务端分析1
only-blast-2.mp4 ---BLASTBufferQueue新特性发起和服务端分析2
only-blast-app-3.mp4 ---BLASTBufferQueue新特性app端分析1
only-blast-app-4.mp4 ---BLASTBufferQueue新特性app端分析2
o-blast-all-end-5.mp4 ---BLASTBufferQueue新特性总结部分
output-blast-func.mp4 ---BLASTBufferQueue新特性主要方法补充

 -----------------------composer部分-----------------------------
hwc-1.mp4  ----hwc合成部分深入源码分析1
hwc-2.mp4 ----hwc合成部分深入源码分析2
hwc-3-cut.mp4 ----hwc合成部分深入源码分析3
hwc-4.mp4 ----hwc合成部分深入源码分析4
hwc-5-cut.mp4 ----hwc合成部分深入源码分析5
hwc-hal.mp4 ----hwc合成的hal部分分析1
hwc-hal-2.mp4 ----hwc合成的hal部分分析2
hwc-6-perfetto.mp4 ----hwc合成部分结合trace分析
gpu-demo.mp4 ----gpu合成demo实现
gpu-source-1.mp4 ----gpu合成源码分析1
gpu-source-2.mp4 ----gpu合成源码分析2
gpu-source-3-systrace.mp4 ----gpu合成trace分析



目前已经到课74节课时

后续更新部分

1、surfaceflinger相关的实战小项目
2、补充一些selinux部分的基础
大家尽请期待

更多framework干货请关注“千里马学框架”

### Android 硬件抽象层概述 硬件抽象层(HAL)在Android操作系统中起到桥梁作用,连接高层框架API到具体的设备驱动程序硬件资源。对于图形渲染而言,Hardware Composer HAL控制着重要的组成部分[^1]。 #### Camera HAL 特点 Camera HAL负责将更高层次的相机框架APIs转换成底层硬件可以理解的操作指令。最新版本的Android引入了一种新的实现方式,在设计上有了显著变化,特别是对于之前开发过其他版本Android系统的开发者来说需要注意这些改动[^2]。 ```cpp // Example of initializing a camera device using the Camera HAL interface. status_t status; camera_module_t* module; hw_get_module(CAMERA_HARDWARE_MODULE_ID, (const hw_module_t**)&module); if (!module || !module->common.methods) { LOGE("Failed to load camera module"); return BAD_VALUE; } camera_device_t *device; status = module->methods->open(module, &device); if (status != OK) { LOGE("Failed to open camera device"); } ``` #### HWC2 的功能描述 HWC2作为SurfaceFlinger的一部分用于同专用窗口合成硬件通讯。相比起利用GPU来完成同样的任务,HWC2能够更高效地处理图像数据流并减少功耗。这是因为GPU并未专门为这类操作做优化,而且当它被占用时会影响应用程序自身的渲染性能[^3]。 #### 设备集成中的Camera App声明方法 为了使特定设备支持摄像头应用,需在其`device.mk`文件内的`PRODUCT_PACKAGES`变量里加入必要的组件名称列表。这一步骤确保了编译过程中会包含所需的应用服务[^4]。 ```makefile # Excerpt from device/<company_name>/<device_name>/device.mk showing how to add packages. PRODUCT_PACKAGES += \ Gallery2 \ ... ``` #### 传感器与其他物理输入装置的区别 值得注意的是,并不是所有的传感元件都通过标准的Sensor API接口报告信息;像摄像机这样的高带宽设备拥有独立的数据传输机制。这种区分主要是基于不同类型的感知器所提供的数据量级差异考虑而做出的设计决策[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值