图像的渲染方法、电子设备及存储介质技术

技术编号:34149294 阅读:17 留言:0更新日期:2022-07-14 19:44
本申请提供了一种图像的渲染方法、电子设备及存储介质,该方法应用于电子设备,该方法包括:基于布局信息确定每个待渲染图像的参考分辨率,在检测到需要对每个待渲染图像的纹理数据进行预处理时,将每个待渲染图像的纹理数据传输至预处理组件,由预处理组件将每个纹理数据的原始分辨率调整至参考分辨率;将预处理后的纹理数据传输至GPU,以供GPU进行图像渲染。采用本申请中的方法,可以减小每个待渲染图像的纹理数据所占内存的容量,避免出现缓存击穿的问题,进而避免部分纹理数据被频繁加载和卸载的问题。和卸载的问题。和卸载的问题。

Image rendering method, electronic device and storage medium

【技术实现步骤摘要】
图像的渲染方法、电子设备及存储介质


[0001]本申请涉及终端领域,尤其涉及一种图像的渲染方法、电子设备及存储介质。

技术介绍

[0002]图像渲染是图像处理中的一项重要技术,电子设备(或终端)在对图像进行渲染过程中,通常需要处理大量的纹理数据,纹理数据属于一种存储数据,且占用内存比较大。
[0003]目前电子设备中显示屏的刷新率高,在高刷新率的情况下,分辨率高的纹理数据会导致电子设备在绘制图像时出现绘制卡顿,导致显示的图像卡顿。

技术实现思路

[0004]为了解决上述技术问题,本申请提供一种图像的渲染方法、电子设备及存储介质,使得电子设备绘制图像时不会出现卡顿的问题。
[0005]第一方面,本申请提供一种图像的渲染方法,该方法应用于电子设备,该电子设备的应用程序框架层设置有布局分析管理器,应用程序框架层产生了渲染线程,该方法包括:布局分析管理器获取当前帧中待显示页面的布局信息以及待显示页面中每个待渲染图像的纹理数据;布局分析管理器根据布局信息确定每个待渲染图像的尺寸信息,并将每个待渲染图像的尺寸信息作为各自的参考分辨率;布局分析管理器根据布局信息、每个纹理数据的原始纹理分辨率以及每个纹理数据对应的参考分辨率,判断是否需要对每个纹理数据进行预处理;布局分析管理器若确定需要对每个纹理数据进行预处理,则将每个纹理数据传输至预处理组件;预处理组件将每个纹理数据的原始分辨率调整至对应的参考分辨率,其中,在确定需要对每个纹理数据进行预处理的情况下,每个纹理数据的原始分辨率大于对应的参考分辨率;预处理组件将调整后的每个纹理数据通过渲染线程传输至图形处理器单元GPU,以供GPU进行图像渲染。
[0006]这样,待显示页面中的各待渲染图像的尺寸与该待显示页面的布局相关,该布局分析管理器通过待显示页面的布局信息可以准确地确定出该待显示页面中每个待渲染图像的尺寸信息,将每个待渲染图像的尺寸信息作为各待渲染图像的参考分辨率,使得该每个待渲染图像的参考分辨率都适用于当前电子设备的待显示页面,避免因为电子设备的屏幕的分辨率不同导致参考分辨率不适用的情况。该布局分析管理器基于布局信息、各纹理数据的原始分辨率和参考分辨率,判断是否需要对每个纹理数据进行预处理,判断时基于多个条件,而不是基于单一的分辨率判断,可以提高判断是否对每个纹理数据进行预处理的准确性,避免因单一条件满足而对每个纹理数据进行预处理而导致功耗大的问题。本申请中当确定需要对每个纹理数据进行预处理后,调整每个纹理数据的原始分辨率至参考分辨率,由于参考分辨率小于原始分辨率,使得预处理后的每个纹理数据所占用的内存容量变小,减小了当前帧需要加载数据的容量,即使得缓存的数据容量变小,进而避免了纹理缓存被击穿的问题,也就可以避免部分纹理数据被频繁加载和卸载的问题。由于避免了部分纹理数据被频繁加载和卸载的问题,提高了GPU绘制图像的效率。例如,在一些场景中,预处
理后的纹理数据缓存至纹理缓存后,当GPU绘制图像时,由于纹理数据已经经过预处理,仅需该GPU进行贴图即可,减少了GPU运算量,提高GPU绘制的效率。
[0007]根据第一方面,布局分析管理器根据布局信息、每个纹理数据的原始纹理分辨率以及每个纹理数据对应的参考分辨率,判断是否需要对每个纹理数据进行预处理,包括:布局分析管理器获取每个纹理数据的原始分辨率与对应的参考分辨率之间的差值作为纹理差异数据;布局分析管理器根据纹理差异数据以及布局信息,确定当前帧的分析结果,分析结果至少包含两个不同的种类,其中一个种类为纹理差异数据,其他种类包括:待渲染图像的数量和/或预处理组件;布局分析管理器将分析结果与预存的多个阈值组进行比较,若检测到存在与分析结果匹配的阈值组,则确定需要对每个纹理数据进行预处理,每个阈值组中包含的种类与分析结果中包含的种类相同。
[0008]这样,布局分析管理器确定的分析结果中包含至少两个种类的内容,增加比较的维度,提高判断的准确性,避免出现预处理后的功耗反而恶劣的问题。
[0009]根据第一方面,在布局分析管理器判断是否需要对每个纹理数据进行预处理之前,该方法还包括:每次训练获得阈值组的过程如下:布局分析管理器获取本次训练的样本页面的样本布局信息以及样本页面中各样本图像的纹理数据;布局分析管理器根据样本布局信息以及样本图像的纹理数据,将各样本图像的纹理数据传输至预处理组件;预处理组件对各样本图像的纹理数据进行预处理,并将预处理后的各纹理数据传输至渲染线程;渲染线程根据样本布局信息生成绘制指令;渲染线程将绘制指令以及预处理后的各纹理数据传输至GPU,由电子设备中的功耗分析模块获得GPU渲染各样本图像的第一功耗;渲染线程将绘制指令以及各样本图像的纹理数据传输至GPU,由功耗分析模块获得GPU渲染各样本图像的第二功耗;功耗分析模块若检测到第一功耗小于第二功耗,且第二功耗与第一功耗之间的差值超出预设的功耗阈值,则功耗分析模块指示布局分析管理器根据本次训练的样本页面的样本布局信息以及样本页面中各样本图像的纹理数据确定本次训练的阈值组。
[0010]这样,训练每个阈值组的过程中,将样本布局信息和样本图像的纹理数据传输至预处理组件进行预处理,基于绘制指令和预处理后的纹理数据获得第一功耗;渲染线程直接将绘制指令以及未预处理的纹理数据传输至GPU,GPU绘制图像获得第二功耗;第一功耗是基于预处理后的纹理数据确定,而第二功耗是基于未预处理的纹理数据确定,通过对两种情况下的功耗比较,可以确定出满足功耗需求的阈值组,使得GPU基于预处理后的纹理数据进行绘制,可以减小功耗,避免出现功耗恶化的问题。
[0011]根据第一方面,功耗分析模块指示布局分析管理器根据本次训练的样本页面的样本布局信息以及样本页面中各样本图像的纹理数据确定本次训练的阈值组,包括:布局分析管理器获取样本页面的样本布局信息,确定样本页面中待显示图像的数量;布局分析管理器根据样本布局信息,确定各样本图像的参考分辨率;布局分析管理器根据各样本图像的原始分辨率与对应的参考分辨率之间的差值,确定本次训练中的纹理差异阈值;布局分析管理器将本次训练中的预处理组件作为被选定组件;将纹理差异阈值、样本页面中样本图像的数量以及被选定组件作为阈值组。
[0012]这样,待渲染的图像的数量、被选定的预处理组件以及各样本图像的原始分辨率与参考分辨率之间的差值均与功耗相关,当第一功耗小于第二功耗,且第二功耗与第一功耗之间的差值大于预设的功耗阈值,在该情况下,获取待渲染的图像的数量、被选定的预处
理组件以及纹理差异阈值作为阈值组,使得该阈值组可以客观反映出功耗的情况,避免出现功耗恶化的问题。
[0013]根据第一方面,布局分析管理器根据各样本图像的原始分辨率与对应的参考分辨率之间的差值,确定本次训练中的纹理差异阈值,包括:布局分析管理器从各样本图像的原始分辨率与对应的参考分辨率之间的差值中选取最大值作为纹理差异阈值;或者,所述布局分析管理器获取各样本图像的原始分辨率与对应的参考分辨率之间的差值的均值作为所述纹理差异阈值;或者,布局分析本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图像的渲染方法,其特征在于,应用于电子设备,所述电子设备的应用程序框架层设置有布局分析管理器,所述应用程序框架层产生了渲染线程,所述方法包括:所述布局分析管理器获取当前帧中待显示页面的布局信息以及所述待显示页面中每个待渲染图像的纹理数据;所述布局分析管理器根据所述布局信息确定每个待渲染图像的尺寸信息,并将每个待渲染图像的尺寸信息作为各自的参考分辨率;所述布局分析管理器根据所述布局信息、每个纹理数据的原始纹理分辨率以及每个纹理数据对应的参考分辨率,判断是否需要对每个纹理数据进行预处理;所述布局分析管理器若确定需要对每个纹理数据进行预处理,则将每个所述纹理数据传输至预处理组件;所述预处理组件将每个纹理数据的原始分辨率调整至对应的参考分辨率,其中,在确定需要对每个纹理数据进行预处理的情况下,每个所述纹理数据的原始分辨率大于对应的参考分辨率;所述预处理组件将调整后的每个纹理数据通过所述渲染线程传输至图形处理器单元GPU,以供所述GPU进行图像渲染。2.根据权利要求1所述的方法,其特征在于,所述布局分析管理器根据所述布局信息、每个纹理数据的原始纹理分辨率以及每个纹理数据对应的参考分辨率,判断是否需要对每个纹理数据进行预处理,包括:所述布局分析管理器获取每个纹理数据的原始分辨率与对应的所述参考分辨率之间的差值作为纹理差异数据;所述布局分析管理器根据所述纹理差异数据以及所述布局信息,确定当前帧的分析结果,所述分析结果至少包含两个不同的种类,其中一个种类为所述纹理差异数据,其他种类包括:待渲染图像的数量和/或预处理组件;所述布局分析管理器将所述分析结果与预存的多个阈值组进行比较,若检测到存在与所述分析结果匹配的阈值组,则确定需要对每个纹理数据进行预处理,每个所述阈值组中包含的种类与所述分析结果中包含的种类相同。3.根据权利要求2所述的方法,其特征在于,在所述布局分析管理器判断是否需要对每个纹理数据进行预处理之前,所述方法还包括:每次训练获得阈值组的过程如下:所述布局分析管理器获取本次训练的样本页面的样本布局信息以及所述样本页面中各样本图像的纹理数据;所述布局分析管理器根据所述样本布局信息以及所述样本图像的纹理数据,将各样本图像的纹理数据传输至预处理组件;所述预处理组件对各样本图像的纹理数据进行预处理,并将预处理后的各纹理数据传输至所述渲染线程;所述渲染线程根据所述样本布局信息生成绘制指令;所述渲染线程将所述绘制指令以及预处理后的各纹理数据传输至所述GPU,由所述电子设备中的功耗分析模块获得所述GPU渲染各样本图像的第一功耗;所述渲染线程将所述绘制指令以及各样本图像的纹理数据传输至所述GPU,由所述功
耗分析模块获得所述GPU渲染各样本图像的第二功耗;所述功耗分析模块若检测到所述第一功耗小于所述第二功耗,且所述第二功耗与所述第一功耗之间的差值超出预设的功耗阈值,则所述功耗分析模块指示所述布局分析管理器根据所述本次训练的样本页面的样本布局信息以及所述样本页面中各样本图像的纹理数据确定本次训练的阈值组。4.根据权利要求3所述的方法,其特征在于,所述功耗分析模块指示所述布局分析管理器根据所述本次训练的样本页面的样本布局信息以及所述样本页面中各样本图像的纹理数据确定本次训练的阈值组,包括:所述布局分析管理器获取所述样本页面的样本布局信息,确定所述样本页面中待显示图像的数量;所述布局分析管理器根据所述样本布局信息,确定各样本图像的参考分辨率;所述布局分析管理器根据各样本图像的原始分辨率与对应的参考分辨率之间的差值,确定本次训练中的纹理差异阈值;所述布局分析管理器将本次训练中的预处理组件作为被选定组件;将所述纹理差异阈值、所述样本页面中样本图像的数量以及所述被选定组件作为所述阈值组。5.根据权利要求4所述的方法,其特征在于,所述布局分析管理器根据各样本图像的原始分辨率与对应的参考分辨率之间的差值,确定本次训练中的纹理差异阈值,包括:所述布局分析管理器从各样本图像的原始分辨率与对应的参考分辨率之间的差值中选取最大值作为所述纹理差异阈值;或者,所述布局分析管理器获取各样本图像的原始分辨率与对应的参考分辨率之间的差值的均值作为所述纹理差异阈值;或者,所述布局分析管理器获取每个样本图像的原始分辨率与对应的参考分辨率之间的差值,并获取所有差值所占内存的容量作为所述纹理差异阈值。6.根据权利要求2所述的方法,其特征在于,所述布局分析管理器根据所述纹理差异数据以及所述布局信息,确定当前帧的分析结果,包括:所述布局分析管理器根据所述布局信息,确定待渲染...

【专利技术属性】
技术研发人员:李飞
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1