[发明专利]一种OpenGL ES 3D应用的裁剪与合成方法有效
申请号: | 201711348157.3 | 申请日: | 2017-12-15 |
公开(公告)号: | CN108089862B | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 齐志;刘泽恒;张阳;吴建辉;时龙兴 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 南京苏高专利商标事务所(普通合伙) 32204 | 代理人: | 颜盈静 |
地址: | 211100 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 opengl es 应用 裁剪 合成 方法 | ||
1.OpenGL ES 3D应用的裁剪与合成方法,其特征在于:包括以下步骤:
S1、获取3D应用OpenGL ES API原始Trace文件;
S2、获取3D场景渲染过程中每一帧性能相关参数,将该性能相关参数降维后形成帧的特征向量;
S3、根据每帧的特征向量,将3D场景渲染的所有帧分类,并筛选出每类的关键帧;
S4、通过跟踪OpenGL ES状态机的状态变化过程,提取每一关键帧的状态恢复API,将关键帧合成可播放的缩减Trace文件;
所述步骤S4具体包括以下步骤:
S4-1:通过分析原始Trace文件的文本信息,模拟OpenGL ES API顺序执行过程实现跟踪OpenGL ES状态机的状态变化,通过模拟的执行过程,分析每一条API对当前控制型状态、以及资源型状态的影响,模拟从原始Trace文件的第一条OpenGL ES API开始直到关键帧为止,记录这一过程中屡次设置各种控制型状态的API以及按资源ID记录这一过程中生成的所有资源状态设置API;
S4-2:从记录中抽取设置各种控制型状态的最后一条API,按照关键帧使用资源ID的顺序抽取出关键帧需要的资源状态恢复API,完成关键帧的控制以及资源状态恢复API的分析;
S4-3:对关键帧进行重复,使各类关键帧数之比与原始3D应用各类总帧数比例一致,在明确各关键帧所需重复次数以及其相应的状态恢复API后,通过读取原始Trace文件,将相应的关键帧及其状态恢复API按照顺序依次写入新的Trace文件,形成缩减版的Trace文件。
2.根据权利要求1所述的OpenGL ES 3D应用的裁剪与合成方法,其特征在于:所述性能相关参数包括GPU渲染的各个流水线以及专用硬件单元上的参数计数器和/或微架构无关参数。
3.根据权利要求2所述的OpenGL ES 3D应用的裁剪与合成方法,其特征在于:所述性能相关参数的获取依赖于Trace文件在硬件平台上按帧为单位的播放,且在每一帧渲染结束后加入相应的延时函数,使性能相关参数与帧之间对应,性能监测器在每帧播放时间内多次采样得到性能相关参数。
4.根据权利要求1所述的OpenGL ES 3D应用的裁剪与合成方法,其特征在于:所述步骤S3中关键帧为在特征空间内距离每类中心点最近的帧。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711348157.3/1.html,转载请声明来源钻瓜专利网。