一种基于帧内信号量的渲染同步优化方法
摘要文本
本发明公开了一种基于帧内信号量的渲染同步优化方法,在系统执行每帧数据的渲染操作时通过监测数据帧中最后一个字节的写操作完成情况以实时确定渲染操作的执行过程,当最后一个字节的数据写入后直接执行GPU提供的同步函数完成数据帧的上屏操作,上述过程无需图形应用程序参与,避免了图形应用程序与相关系统API之间的调用,省去了内核态到用户态之间的多次转换,显著减少了帧同步延迟,提升了渲染流畅性,此外,本发明的实现无需修改应用程序具有广泛的通用性。
申请人信息
- 申请人:北京麟卓信息科技有限公司
- 申请人地址:100085 北京市海淀区西三旗昌临801号27号3层310、312
- 发明人: 北京麟卓信息科技有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种基于帧内信号量的渲染同步优化方法 |
| 专利类型 | 发明申请 |
| 申请号 | CN202410247637.4 |
| 申请日 | 2024/3/5 |
| 公告号 | CN117830457A |
| 公开日 | 2024/4/5 |
| IPC主分类号 | G06T11/00 |
| 权利人 | 北京麟卓信息科技有限公司 |
| 发明人 | 温研 |
| 地址 | 北京市海淀区西三旗昌临801号27号3层310、312 |
专利主权项内容
1.一种基于帧内信号量的渲染同步优化方法,其特征在于,具体包括以下步骤:步骤1、在系统执行数据帧的渲染操作时,监测与图像对象创建相关的函数记为第一函数,获取第一函数内设置的图像特征,计算图像特征对应的存储空间,累加所有的存储空间得到数据帧占用的实际存储空间;为数据帧分配全局唯一的数据帧ID,将数据帧ID添加至待同步帧列表中;步骤2、监测为图像对象分配存储空间的函数记为第二函数,获取第二函数返回的内存缓冲区的起始地址记为数据帧起始地址,将数据帧起始地址与实际存储空间求和后与1的差值作为数据帧目标地址;步骤3、若GPU以内存作为显存则执行步骤4,否则执行步骤5;步骤4、监测系统中与内存写操作相关的函数记为第三函数,获取第三函数的输入参数记为第一参数,若第一参数中包含数据帧目标地址,则执行GPU提供的同步函数完成数据帧的上屏操作,再将该数据帧ID从待同步帧列表中删除,结束本流程;否则执行步骤6;步骤5、监测GPU驱动中与写显存相关的函数记为第四函数,获取第四函数的输入参数记为第二参数,若第二参数中包含数据帧目标地址,则执行GPU提供的同步函数完成数据帧的上屏操作,再将该数据帧ID从待同步帧列表中删除,结束本流程;否则执行步骤6;步骤6、按照系统原有方式执行后续操作完成数据帧的渲染操作结束本流程。