专栏底层软件J6X hbmem sample

J6X hbmem sample

新手村2026-07-31
8
0

1. 功能概述

hbmem api使用说明,包括com buffer、graphic buffer、graphic buffer group、queue、pool、share pool的创建使用,多进程共享等。

1.1. 软件架构说明

本sample基于libhbmem API实现,调用libhbmem提供的API,实现不同buffer类型的内存申请和进程间共享。

../../_images/hbmem_sample.png

1.2. 代码位置及目录结构

1.3. API流程说明

libhbmem库调用ion进行buffer分配:

../../_images/hbmem.png

com buffer、graph buffer、graphic buffer group 分配流程图

../../_images/hbmem_alloc_buf.png

queue使用流程图:

../../_images/hbmem_queue.png

pool使用流程图:

../../_images/hbmem_pool.png

share pool 使用流程图:

../../_images/hbmem_share_pool.png

2. 编译

2.1. 编译环境

本sample的编译环境使用SDK中的build工具,请参考:Build 环境建立

2.2. 编译说明

本sample主要依赖libhbmem提供的头文件:

编译依赖的库有如下:

编译命令:

3. 运行

3.1. 支持平台

  • J6X Matrix

3.2. 运行指南

运行方法

创建com buffer:

创建cache,noncached com buffer,赋值,比较耗时:

在各个heaps里,创建com buffer:

创建graph buffer:

在各个heaps里,创建graph buffer:

创建graph buffer group:

在各个heaps里,创建graph buffer group:

进程内common buffer共享:

进程内common buffer共享,consume_cnt:

进程间common buffer共享:

进程内graphic buffer共享:

进程内graphic buffer共享,consume_cnt:

进程间graphic buffer共享:

进程内graphic buffer group共享:

进程内graphic buffer group共享,consume_cnt:

进程间graphic buffer group共享:

进程间share pool 共享:

share pool使用:

buffer queue 使用:

pool使用:

在graphic buffer与common buffer之间实现buffer转换:

增加common buffer用户态引用计数:

增加graphic buffer用户态引用计数:

3.3. 运行参数说明

  • -m 指定sample用例,具体见运行结果展示

3.4. 测试结果说明

  • 如果log最后以xxxx done结尾,则表示sample执行成功

3.5. 运行结果展示

创建com buffer

创建cache,noncached com buffer,赋值,比较耗时

在各个heaps里,创建com buffer

创建graph buffer

在各个heaps里,创建graph buffer

创建graph buffer group

在各个heaps里,创建graph buffer group

进程内common buffer共享

进程内common buffer共享,consume_cnt

进程间common buffer共享

进程内graphic buffer共享

进程内graphic buffer共享,consume_cnt

进程间graphic buffer共享

进程内graphic buffer group共享

进程内graphic buffer group共享,consume_cnt

进程间graphic buffer group共享

进程间share pool 共享

share pool使用

buffer queue 使用

pool使用

在graphic buffer与common buffer之间实现buffer转换

增加common buffer用户态引用计数

增加graphic buffer用户态引用计数

底层软件
社区征文官方教程征程6
评论0
0/600