ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

第五章:BO的共享:5.1 BO共享需求分析和核心概念

第五章:BO的共享:5.1 BO共享需求分析和核心概念 一块 GPU 渲染好的图像,要送去显示、要交给视频编码器录屏、要被 AI 模型读取分析——同一份数据,多个设备、多个进程都想用。这就是「BO 共享」要解决的问题。本节先做需求分析(为什么需要共享、共享难在哪里),再建立一整套核心概念(exporter/importer、handle 与 fd、dma_buf 抽象、引用计数、dma_resv同步),作为第五章后续各节(dma-buf 机制、prime、同步)的地图与索引。1. 引言:为什么"共享"而非"拷贝"在现代 SoC、嵌入式与图形/多媒体系统中,CPU、GPU、VPU(视频处理单元)、ISP(图像信号处理器)、NPU、DMA 控制器等多个加速单元需要协同处理同一批大块数据——图像帧、视频流、AI 张量、3D 纹理。它们之间传递数据,天然有两条路:拷贝一份副本,或共享同一块物理内存。拷贝的代价在数据量面前迅速失控。以一路 4K@60fps 未压缩视频为例,仅 ISP→VPU、ISP→GPU 两条拷贝就要吃掉 ~2 GB/s 内存带宽;再叠加多路、多消费者,带宽、延迟、内存占用、功耗全面恶化,CPU 还被拖去做无谓的搬运。因此:BO(Buffer Object)共享机制的核心目标是零拷贝(zero-copy)——让多个设备/进程直接访问同一块后端存储,而非各持副本。零拷贝在现代应用里已不是「优化项」,而是「必需项」。
返回列表