摘要:
在我的印象里,extern "c"一直是c++调用c接口用的,用法是用exetrn "c"把相应写好的c接口包住。 即在 C++ 出现以前,很多代码都是 C 语言写的,而且很底层的库也是 C 语言写的,为了更好的支持原来的 C 代码和已经写好的 C 语言库,需要在 C++ 中尽可能的支持 C ,而 阅读全文
摘要:
1.什么是Android CDD Android 兼容性定义文档 (CDD)列举了设备需要满足哪些要求才能与最新的 Android 版本兼容。也就是说每当Android新版本更新时,我们需要检查Android最新的CDD,保证我们的系统满足Android CDD的要求。 设备实现必须满足此兼容性定义 阅读全文
摘要:
kworker和kthread都是Linux内核中的组件,它们在内核中扮演着不同的角色,但也有着一定的联系。 kworker 定义与功能: 定义:kworker是Linux内核中的一个工作线程,用于异步处理工作队列(workqueue)中的任务。这些任务包括但不限于处理硬件中断、文件系统事件、管理系 阅读全文
摘要:
Android HWUI(Hardware Accelerated Rendering Engine for UI)是Android系统中用于处理UI渲染的硬件加速引擎。它的主要作用是利用GPU(图形处理单元)来加速UI的渲染过程,从而提高渲染效率和流畅度。以下是Android HWUI工作的主要方 阅读全文
摘要:
1. 背景介绍 之前在Vulkan内存与资源管理 提到 VK_MEMORY_PROPERTY_HOST_COHERENT_BIT: 该标志位表示CPU的write数据flush给GPU时,无需调用vkFlushMappedMemoryRanges;GPU的write的数据想要对CPU可见时,无需调用 阅读全文
摘要:
在OpenGL中,当我们创建resource的时候,内存会被自动分配。 不同于OpenGL,vulkan是更加底层的API,需要显式的内存管理。显式的内存管理可以在资源复用与特定平台的优化方面带来好处。 1.Vulkan 内存分类 Vulkan内存分为2类:Host memory和Device me 阅读全文
摘要:
1.Introduction 1.1 Vulkan同步机制的重要性 相比OpenGL,Vulkan是更加Low Level的API,这给了开发者更多的自由去控制资源。Vulkan能通过并行地运行多项任务,给我们更大的控制能力去操纵渲染过程,以便最大化地使用CPU和GPU的资源。Vulkan是显示地并 阅读全文
摘要:
Frame Buffer Frame Buffer: 是一块buffer(即内存),存储了一帧的buffer数据。 从数据结构的角度来看,此处的Frame Buffer并不是一个真正意义上的buffer,其存了一些指针,分别指向Depth Buffer、Color Buffer、Stencil Bu 阅读全文
摘要:
AIDL: Android Interface Definition Language,即Android接口定义语言。用来定义Android基于Binder通信的Client和Service之间的接口。 即负责App之间通信,App与Framework通信。 HIDL: HAL(Hardware A 阅读全文
摘要:
1.VNDK是什么 VNDK 的全称是 Vendor Native Development Kit,中文翻译过来叫“供应商原生开发套件”。本身实际上指的是 Google 提供给 Vendor 用来开发自己 HAL 的一套库。但实际上这个概念的引入有一个很大的背景,就是 Treble 项目。自 And 阅读全文