一种图像渲染方法和图像渲染系统的制作方法_5

文档序号:9668224阅读:来源:国知局
与所述预计算图形进行合并渲染,得到当前帧完整的显示图像,实现了有效的混合渲染模式,解决了现有技术中繁杂的特效会降低CPU的运算压力,导致整个应用卡顿且耗电过快的技术问题,减少移动终端发热,并给用户带来了更加流畅的特效使用体验;该底层图形库可以为比原生APP更加底层的开放图形库(0penGL,0pen Graphics Library),并通过外观模式封装成对上层友好的特效图像库,降低了开发门槛,使得应用开发者可以轻松开发出高性能的原生应用特效,提高了开发效率,而且系统整体为轻量级架构,可大大降低开发成本。
[0146]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0147]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【主权项】
1.一种图像渲染方法,其特征在于,包括: 读取当前需渲染的特效对象,根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域; 通过预计算渲染器将所述局部区域在画布中擦除,并对所述中央处理器内存CpuRes中当前帧对应的第一类型显示数据进行预计算渲染,得到预计算图形; 通过预设的底层图形库渲染器对图形处理器内存GpuRes中当前帧对应的第二类型显示数据进行渲染,并与所述预计算图形进行合并渲染,得到当前帧完整的显示图像; 其中,所述当前帧需要渲染的局部区域包括所述第一类型显示数据和所述第二类型显示数据,所述第一类型显示数据小于所述第二类型显示数据。2.如权利要求1所述的方法,其特征在于,在所述读取当前需渲染的特效对象之前,还包括: 在将所述特效对象注册到图形引擎时,计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行切片; 将切片后的第一类型显示数据保存在CpuRes中,将切片后的第二类型显示数据保存在 GpuRes 中。3.如权利要求2所述的方法,其特征在于,所述对所述显示数据进行切片之后,还包括:将切片后需要渲染的区域信息保存在擦除内存ClearRes中; 所述根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域,包括:根据所述ClearRes中保存的当前帧以及下一帧的需要渲染的区域信息,确认当前帧以及下一帧需要渲染的局部区域。4.如权利要求2所述的方法,其特征在于,所述计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行切片;将切片后的第一类型显示数据保存在CpuRes中,将切片后的第二类型显示数据保存在GpuRes中,包括: 采用三角形图像计算法计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行三角形切片; 将小于第一预设阈值的三角形切片的显示数据保存在CpuRes中,将大于第二预设阈值的三角形切片的显示数据保存在GpuRes中; 其中所述小于第一预设阈值的三角形切片的显示数据为所述第一类型显示数据,所述大于第二预设阈值的三角形切片的显示数据为所述第二类型显示数据;所述第一预设阈值小于或等于所述第二预设阈值。5.如权利要求1所述的方法,其特征在于,在所述确定当前帧以及下一帧需要渲染的局部区域之前,还包括: 预计算所述当前帧k渲染所需的时间Τκ,以及所述当前帧往下第一帧k+Ι渲染所需的时间τκ+1; 当所述^大于所述T K+1时,预计算所述当前帧往下第二帧k+2清染所需的时间T κ+2,当所述IVh于所述T K+1时,将所述当前帧往下第一帧k+Ι作为所述下一帧; 当所述IVh于所述T K+1与所述T κ+2之和时,将所述当前帧往下第二帧k+2作为所述下一帧;当所述^大于所述T K+1与T κ+2之和时,预计算所述当前帧往下第三帧k+3清染所需的时间Τκ+3,直到满足公式TK〈TK+1+TK+2...+Τκ+η时,所述Τ κ+η为所述当前帧往下第η帧k+n渲染所需的时间,其中所述η为大于2的自然数,将所述当前帧往下第η帧k+n作为所述下一帧。6.如权利要求1-5任一项所述的方法,其特征在于,所述得到当前帧完整的显示图像之后,将所述下一帧作为当前帧并继续执行所述根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域的步骤。7.如权利要求6所述的方法,其特征在于,当对所述特效对象渲染完成后,在特效队列中将所述特效对象销毁,并从所述特效队列中读取下一个需要渲染的特效对象。8.一种图像渲染系统,其特征在于,包括: 读取模块,用于读取当前需渲染的特效对象; 区域确定模块,用于根据预先注册所述特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域; 预计算渲染模块,用于通过预计算渲染器将所述局部区域在画布中擦除,并对所述中央处理器内存CpuRes中当前帧对应的第一类型显示数据进行预计算渲染,得到预计算图形; 合并渲染模块,用于通过预设的底层图形库渲染器对图形处理器内存GpuRes中当前帧对应的第二类型显示数据进行渲染,并与所述预计算图形进行合并渲染,得到当前帧完整的显示图像; 其中,所述当前帧需要渲染的局部区域包括所述第一类型显示数据和所述第二类型显示数据,所述第一类型显示数据小于所述第二类型显示数据。9.如权利要求8所述的系统,其特征在于,还包括: 计算切片模块,用于在所述读取模块读取当前需渲染的特效对象之前,在将所述特效对象注册到图形引擎时,计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行切片; 数据保存模块,用于将切片后的第一类型显示数据保存在CpuRes中,将切片后的第二类型显示数据保存在GpuRes中。10.如权利要求9所述的系统,其特征在于,所述数据保存模块还用于,在所述计算切片模块对所述显示数据进行切片之后,将切片后需要渲染的区域信息保存在擦除内存ClearRes 中; 所述区域确定模块具体用于,根据所述ClearRes中保存的当前帧以及下一帧的需要渲染的区域信息,确认当前帧以及下一帧需要渲染的局部区域。11.如权利要求9所述的系统,其特征在于,所述计算切片模块具体用于采用三角形图像计算法计算所述特效对象每一帧中有效的显示数据,并对所述显示数据进行三角形切片; 所述数据保存模块具体用于,将小于第一预设阈值的三角形切片的显示数据保存在CpuRes中,将大于第二预设阈值的三角形切片的显示数据保存在GpuRes中; 其中所述小于第一预设阈值的三角形切片的显示数据为所述第一类型显示数据,所述大于第二预设阈值的三角形切片的显示数据为所述第二类型显示数据;所述第一预设阈值小于或等于所述第二预设阈值。12.如权利要求8所述的系统,其特征在于,还包括: 时间预计算模块,用于在所述区域确定模块确定当前帧以及下一帧需要渲染的局部区域之前,预计算所述当前帧k渲染所需的时间Τκ,以及所述当前帧往下第一帧k+Ι渲染所需的时间Τκ+1; 当所述^大于所述T K+1时,所述时间预计算模块还用于预计算所述当前帧往下第二帧k+2渲染所需的时间Τκ+2,当所述IVh于所述T K+1时,将所述当前帧往下第一帧k+Ι作为所述下一帧; 当所述IVh于所述T K+1与所述Τ κ+2之和时,将所述当前帧往下第二帧k+2作为所述下一帧;当所述^大于所述T K+1与τ κ+2之和时,所述时间预计算模块还用于预计算所述当前帧往下第三帧k+3渲染所需的时间Τκ+3,直到满足公式TK〈TK+1+TK+2...+Τκ+η时,所述Τ κ+η为所述当前帧往下第η帧k+n渲染所需的时间,其中所述η为大于2的自然数,将所述当前帧往下第η帧k+n作为所述下一帧。13.如权利要求8-12任一项所述的系统,其特征在于,所述合并渲染模块得到当前帧完整的显示图像之后,将所述下一帧作为当前帧并继续执行所述根据预先注册所述特效对象时切片保存的显示数据,并触发所述区域确定模块执行确定当前帧以及下一帧需要渲染的局部区域的步骤。14.如权利要求13所述的系统,其特征在于,还包括: 销毁模块,用于当对所述特效对象渲染完成后,在特效队列中将所述特效对象销毁;并触发所述读取模块从所述特效队列中读取下一个需要渲染的特效对象。
【专利摘要】本发明实施例公开了一种图像渲染方法,包括:读取当前需渲染的特效对象,根据预先注册特效对象时切片保存的显示数据,确定当前帧以及下一帧需要渲染的局部区域;通过预计算渲染器将局部区域在画布中擦除,并对CpuRes中当前帧对应的第一类型显示数据进行预计算渲染,得到预计算图形;通过预设的底层图形库渲染器对GpuRes中当前帧对应的第二类型显示数据进行渲染,并与预计算图形进行合并渲染,得到当前帧完整的显示图像;其中,第一类型显示数据小于第二类型显示数据本发明还公开了一种图像渲染系统,采用本发明,解决了现有技术中繁杂的特效会降低CPU的运算压力,导致整个应用卡顿且耗电过快的技术问题。
【IPC分类】G06T1/20, G06T15/00
【公开号】CN105427366
【申请号】CN201510765138
【发明人】蔡毅
【申请人】广州华多网络科技有限公司
【公开日】2016年3月23日
【申请日】2015年11月11日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1